<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>SQL syntax</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/SQL_syntax"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-SQL_syntax rootpage-SQL_syntax skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">SQL syntax</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>The <b><a href="Syntax_(programming_languages)" title="Syntax (programming languages)">syntax</a> of the <a href="SQL" title="SQL">SQL</a> programming language</b> is defined and maintained by <a href="ISO/IEC_JTC_1/SC_32" title="ISO/IEC JTC 1/SC 32">ISO/IEC SC 32</a> as part of <i>ISO/IEC 9075</i>. This standard is not freely available. Despite the existence of the standard, SQL code is not completely portable among different <a href="Database" title="Database">database systems</a> without adjustments.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Language_elements">Language elements</h2></div>
<div class="thumb tright" style=""><div class="thumbinner" style="width:502px"><div class="thumbimage noresize" style="width:500px;">
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left.{\begin{array}{rl}\scriptstyle {\mathtt {UPDATE~clause}}&\{{\mathtt {UPDATE\ country}}\\\scriptstyle {\mathtt {SET~clause}}&\{{\mathtt {SET\ population=~}}\overbrace {\mathtt {population+1}} ^{\mathtt {expression}}\\\scriptstyle {\mathtt {WHERE~clause}}&\{{\mathtt {WHERE\ \underbrace {{name=}\overbrace {'USA'} ^{expression}} _{predicate};}}\end{array}}\right\}{\scriptstyle {\texttt {statement}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow>
<mo fence="true" stretchy="true" symmetric="true"></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left" rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mstyle displaystyle="false" scriptlevel="1">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">U</mi>
<mi mathvariant="monospace">P</mi>
<mi mathvariant="monospace">D</mi>
<mi mathvariant="monospace">A</mi>
<mi mathvariant="monospace">T</mi>
<mi mathvariant="monospace">E</mi>
<mtext> </mtext>
<mi mathvariant="monospace">c</mi>
<mi mathvariant="monospace">l</mi>
<mi mathvariant="monospace">a</mi>
<mi mathvariant="monospace">u</mi>
<mi mathvariant="monospace">s</mi>
<mi mathvariant="monospace">e</mi>
</mrow>
</mrow>
</mstyle>
</mtd>
<mtd>
<mo fence="false" stretchy="false">{</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">U</mi>
<mi mathvariant="monospace">P</mi>
<mi mathvariant="monospace">D</mi>
<mi mathvariant="monospace">A</mi>
<mi mathvariant="monospace">T</mi>
<mi mathvariant="monospace">E</mi>
<mtext mathvariant="monospace"> </mtext>
<mi mathvariant="monospace">c</mi>
<mi mathvariant="monospace">o</mi>
<mi mathvariant="monospace">u</mi>
<mi mathvariant="monospace">n</mi>
<mi mathvariant="monospace">t</mi>
<mi mathvariant="monospace">r</mi>
<mi mathvariant="monospace">y</mi>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mstyle displaystyle="false" scriptlevel="1">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">S</mi>
<mi mathvariant="monospace">E</mi>
<mi mathvariant="monospace">T</mi>
<mtext> </mtext>
<mi mathvariant="monospace">c</mi>
<mi mathvariant="monospace">l</mi>
<mi mathvariant="monospace">a</mi>
<mi mathvariant="monospace">u</mi>
<mi mathvariant="monospace">s</mi>
<mi mathvariant="monospace">e</mi>
</mrow>
</mrow>
</mstyle>
</mtd>
<mtd>
<mo fence="false" stretchy="false">{</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">S</mi>
<mi mathvariant="monospace">E</mi>
<mi mathvariant="monospace">T</mi>
<mtext mathvariant="monospace"> </mtext>
<mi mathvariant="monospace">p</mi>
<mi mathvariant="monospace">o</mi>
<mi mathvariant="monospace">p</mi>
<mi mathvariant="monospace">u</mi>
<mi mathvariant="monospace">l</mi>
<mi mathvariant="monospace">a</mi>
<mi mathvariant="monospace">t</mi>
<mi mathvariant="monospace">i</mi>
<mi mathvariant="monospace">o</mi>
<mi mathvariant="monospace">n</mi>
<mo mathvariant="monospace">=</mo>
<mtext> </mtext>
</mrow>
</mrow>
<mover>
<mrow class="MJX-TeXAtom-OP MJX-fixedlimits">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">p</mi>
<mi mathvariant="monospace">o</mi>
<mi mathvariant="monospace">p</mi>
<mi mathvariant="monospace">u</mi>
<mi mathvariant="monospace">l</mi>
<mi mathvariant="monospace">a</mi>
<mi mathvariant="monospace">t</mi>
<mi mathvariant="monospace">i</mi>
<mi mathvariant="monospace">o</mi>
<mi mathvariant="monospace">n</mi>
<mo mathvariant="monospace">+</mo>
<mn mathvariant="monospace">1</mn>
</mrow>
<mo>⏞<!-- ⏞ --></mo>
</mover>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">e</mi>
<mi mathvariant="monospace">x</mi>
<mi mathvariant="monospace">p</mi>
<mi mathvariant="monospace">r</mi>
<mi mathvariant="monospace">e</mi>
<mi mathvariant="monospace">s</mi>
<mi mathvariant="monospace">s</mi>
<mi mathvariant="monospace">i</mi>
<mi mathvariant="monospace">o</mi>
<mi mathvariant="monospace">n</mi>
</mrow>
</mrow>
</mover>
</mtd>
</mtr>
<mtr>
<mtd>
<mstyle displaystyle="false" scriptlevel="1">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">W</mi>
<mi mathvariant="monospace">H</mi>
<mi mathvariant="monospace">E</mi>
<mi mathvariant="monospace">R</mi>
<mi mathvariant="monospace">E</mi>
<mtext> </mtext>
<mi mathvariant="monospace">c</mi>
<mi mathvariant="monospace">l</mi>
<mi mathvariant="monospace">a</mi>
<mi mathvariant="monospace">u</mi>
<mi mathvariant="monospace">s</mi>
<mi mathvariant="monospace">e</mi>
</mrow>
</mrow>
</mstyle>
</mtd>
<mtd>
<mo fence="false" stretchy="false">{</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">W</mi>
<mi mathvariant="monospace">H</mi>
<mi mathvariant="monospace">E</mi>
<mi mathvariant="monospace">R</mi>
<mi mathvariant="monospace">E</mi>
<mtext mathvariant="monospace"> </mtext>
<munder>
<mrow class="MJX-TeXAtom-OP MJX-fixedlimits">
<munder>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">n</mi>
<mi mathvariant="monospace">a</mi>
<mi mathvariant="monospace">m</mi>
<mi mathvariant="monospace">e</mi>
<mo mathvariant="monospace">=</mo>
</mrow>
<mover>
<mrow class="MJX-TeXAtom-OP MJX-fixedlimits">
<mover>
<mrow>
<msup>
<mi></mi>
<mo>′</mo>
</msup>
<mi mathvariant="monospace">U</mi>
<mi mathvariant="monospace">S</mi>
<msup>
<mi mathvariant="monospace">A</mi>
<mo>′</mo>
</msup>
</mrow>
<mo>⏞<!-- ⏞ --></mo>
</mover>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">e</mi>
<mi mathvariant="monospace">x</mi>
<mi mathvariant="monospace">p</mi>
<mi mathvariant="monospace">r</mi>
<mi mathvariant="monospace">e</mi>
<mi mathvariant="monospace">s</mi>
<mi mathvariant="monospace">s</mi>
<mi mathvariant="monospace">i</mi>
<mi mathvariant="monospace">o</mi>
<mi mathvariant="monospace">n</mi>
</mrow>
</mover>
</mrow>
<mo>⏟<!-- ⏟ --></mo>
</munder>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="monospace">p</mi>
<mi mathvariant="monospace">r</mi>
<mi mathvariant="monospace">e</mi>
<mi mathvariant="monospace">d</mi>
<mi mathvariant="monospace">i</mi>
<mi mathvariant="monospace">c</mi>
<mi mathvariant="monospace">a</mi>
<mi mathvariant="monospace">t</mi>
<mi mathvariant="monospace">e</mi>
</mrow>
</munder>
<mo mathvariant="monospace">;</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
<mo>}</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="1">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext mathvariant="monospace">statement</mtext>
</mrow>
</mrow>
</mstyle>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left.{\begin{array}{rl}\scriptstyle {\mathtt {UPDATE~clause}}&\{{\mathtt {UPDATE\ country}}\\\scriptstyle {\mathtt {SET~clause}}&\{{\mathtt {SET\ population=~}}\overbrace {\mathtt {population+1}} ^{\mathtt {expression}}\\\scriptstyle {\mathtt {WHERE~clause}}&\{{\mathtt {WHERE\ \underbrace {{name=}\overbrace {'USA'} ^{expression}} _{predicate};}}\end{array}}\right\}{\scriptstyle {\texttt {statement}}}}</annotation>
</semantics>
</math></span><img src="./b0bfef3c941c1a88d3990bd1472653e60cf02d0a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -8.838ex; width:61.255ex; height:18.843ex;" alt="{\displaystyle \left.{\begin{array}{rl}\scriptstyle {\mathtt {UPDATE~clause}}&\{{\mathtt {UPDATE\ country}}\\\scriptstyle {\mathtt {SET~clause}}&\{{\mathtt {SET\ population=~}}\overbrace {\mathtt {population+1}} ^{\mathtt {expression}}\\\scriptstyle {\mathtt {WHERE~clause}}&\{{\mathtt {WHERE\ \underbrace {{name=}\overbrace {'USA'} ^{expression}} _{predicate};}}\end{array}}\right\}{\scriptstyle {\texttt {statement}}}}" loading="lazy"></span></div><div class="thumbcaption">A chart showing several of the SQL language elements that compose a single statement. This adds one to the population of the USA in the country table.</div></div></div>
<p>The SQL language is subdivided into several language elements, including:
</p>
<ul><li><i>Keywords</i> are words that are defined in the SQL language. They are either reserved (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">COUNT</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">YEAR</code>), or non-reserved (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ASC</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DOMAIN</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">KEY</code>). List of <a href="SQL_reserved_words" class="mw-redirect" title="SQL reserved words">SQL reserved words</a>.</li>
<li><i>Identifiers</i> are names on database objects, like <a href="Table_(database)" title="Table (database)">tables</a>, columns and schemas. An identifier may not be equal to a reserved keyword, unless it is a delimited identifier. Delimited identifiers means identifiers enclosed in double quotation marks. They can contain characters normally not supported in SQL identifiers, and they can be identical to a reserved word, e.g. a column named <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">YEAR</code> is specified as <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">"YEAR"</code>.
<ul><li>In <a href="MySQL" title="MySQL">MySQL</a>, double quotes are <a href="String_literal" title="String literal">string literal</a> delimiters by default instead. Enabling the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ansi_quotes</code> SQL mode enforces the SQL standard behavior. These can also be used regardless of this mode through backticks: <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">`YEAR`</code>.</li></ul></li>
<li><i>Clauses</i>, which are constituent components of <a href="Statement_(computer_science)" title="Statement (computer science)">statements</a> and queries. (In some cases, these are optional.)<sup id="cite_ref-ANSI/ISO/IEC_1-0" class="reference"><a href="#cite_note-ANSI/ISO/IEC-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></li>
<li><i>Expressions</i>, which can produce either <a href="Scalar_(computing)" class="mw-redirect" title="Scalar (computing)">scalar</a> values, or <a href="Table_(database)" title="Table (database)">tables</a> consisting of <a href="Column_(database)" title="Column (database)">columns</a> and <a href="Row_(database)" title="Row (database)">rows</a> of data</li>
<li><i>Predicates</i>, which specify conditions that can be evaluated to SQL <a href="Ternary_logic" class="mw-redirect" title="Ternary logic">three-valued logic (3VL)</a> (true/false/unknown) or <a href="Boolean_logic" class="mw-redirect" title="Boolean logic">Boolean</a> <a href="Truth_value" title="Truth value">truth values</a> and are used to limit the effects of statements and queries, or to change program flow.</li>
<li><i>Queries</i>, which retrieve the data based on specific criteria. This is an important element of <i>SQL</i>.</li>
<li><i>Statements</i>, which may have a persistent effect on schemata and data, or may control <a href="Database_transaction" title="Database transaction">transactions</a>, <a href="Control_flow" title="Control flow">program flow</a>, connections, <a href="Session_(computer_science)" title="Session (computer science)">sessions</a>, or diagnostics.
<ul><li>SQL statements also include the <a href="Semicolon" title="Semicolon">semicolon</a> (";") statement terminator. Though not required on every platform, it is defined as a standard part of the SQL grammar.</li></ul></li>
<li><i><a href="Whitespace_(computer_science)" class="mw-redirect" title="Whitespace (computer science)">Insignificant whitespace</a></i> is generally ignored in SQL statements and queries, making it easier to format SQL code for readability.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Operators">Operators</h2></div>
<table class="wikitable">
<tbody><tr>
<th>Operator
</th>
<th>Description
</th>
<th>Example
</th></tr>
<tr>
<td><code>=</code>
</td>
<td>Equal to
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Author</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Alcott'</span></code>
</td></tr>
<tr>
<td><code><></code>
</td>
<td>Not equal to (many dialects also accept <code>!=</code>)
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Dept</span><span class="w"> </span><span class="o"><></span><span class="w"> </span><span class="s1">'Sales'</span></code>
</td></tr>
<tr>
<td><code>></code>
</td>
<td>Greater than
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Hire_Date</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="s1">'2012-01-31'</span></code>
</td></tr>
<tr>
<td><code><</code>
</td>
<td>Less than
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Bonus</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">50000</span><span class="p">.</span><span class="mi">00</span></code>
</td></tr>
<tr>
<td><code>>=</code>
</td>
<td>Greater than or equal
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Dependents</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mi">2</span></code>
</td></tr>
<tr>
<td><code><=</code>
</td>
<td>Less than or equal
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Rate</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">05</span></code>
</td></tr>
<tr>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="p">[</span><span class="k">NOT</span><span class="p">]</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="p">[</span><span class="k">SYMMETRIC</span><span class="p">]</span></code>
</td>
<td>Between an inclusive range. SYMMETRIC inverts the range bounds if the first is higher than the second.
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Cost</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">00</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="mi">500</span><span class="p">.</span><span class="mi">00</span></code>
</td></tr>
<tr>
<td rowspan="2"><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="p">[</span><span class="k">NOT</span><span class="p">]</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="p">[</span><span class="k">ESCAPE</span><span class="p">]</span></code>
</td>
<td>Begins with a character pattern
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Full_Name</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="s1">'Will%'</span></code>
</td></tr>
<tr>
<td>Contains a character pattern
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Full_Name</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="s1">'%Will%'</span></code>
</td></tr>
<tr>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="p">[</span><span class="k">NOT</span><span class="p">]</span><span class="w"> </span><span class="k">IN</span></code>
</td>
<td>Equal to one of multiple possible values
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">DeptCode</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="mi">101</span><span class="p">,</span><span class="w"> </span><span class="mi">103</span><span class="p">,</span><span class="w"> </span><span class="mi">209</span><span class="p">)</span></code>
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Null_or_three-valued_logic_(3VL)"><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="k">IS</span><span class="w"> </span><span class="p">[</span><span class="k">NOT</span><span class="p">]</span><span class="w"> </span><span class="k">NULL</span></code></a>
</td>
<td>Compare to null (missing data)
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Address</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span></code>
</td></tr>
<tr>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="k">IS</span><span class="w"> </span><span class="p">[</span><span class="k">NOT</span><span class="p">]</span><span class="w"> </span><span class="k">TRUE</span></code> <i>or</i> <code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="k">IS</span><span class="w"> </span><span class="p">[</span><span class="k">NOT</span><span class="p">]</span><span class="w"> </span><span class="k">FALSE</span></code>
</td>
<td>Boolean truth value test
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">PaidVacation</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">TRUE</span></code>
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Null_or_three-valued_logic_(3VL)"><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="k">FROM</span></code></a>
</td>
<td>Is equal to value or both are nulls (missing data)
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="n">Debt</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">Receivables</span></code>
</td></tr>
<tr>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="k">AS</span></code>
</td>
<td>Used to change a column name when viewing results
</td>
<td><code class="mw-highlight mw-highlight-lang-sql mw-content-ltr" style="" dir="ltr"><span class="k">SELECT</span><span class="w"> </span><span class="n">employee</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">department1</span></code>
</td></tr></tbody></table>
<p>Other operators have at times been suggested or implemented, such as the <a href="Skyline_operator" title="Skyline operator">skyline operator</a> (for finding only those rows that are not 'worse' than any others).
</p><p>
SQL has the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">case</code> expression, which was introduced in <a href="SQL-92" title="SQL-92">SQL-92</a>. In its most general form, which is called a "searched case" in the SQL standard:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">0</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'positive'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'negative'</span>
<span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">'zero'</span>
<span class="k">END</span>
</pre></div>
<p>SQL tests <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">WHEN</code> conditions in the order they appear in the source. If the source does not specify an <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ELSE</code> expression, SQL defaults to <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ELSE NULL</code>. An abbreviated syntax called "simple case" can also be used:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">CASE</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">1</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'One'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">2</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'Two'</span>
<span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">'I cannot count that high'</span>
<span class="k">END</span>
</pre></div>
<p>This syntax uses implicit equality comparisons, with <a href="SQL_CASE" class="mw-redirect" title="SQL CASE">the usual caveats for comparing with NULL</a>.
</p><p>There are two short forms for special <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">CASE</code> expressions: <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">COALESCE</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">NULLIF</code>.
</p><p>The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">COALESCE</code> expression returns the value of the first non-NULL operand, found by working from left to right, or NULL if all the operands equal NULL.
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">COALESCE</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span><span class="n">x2</span><span class="p">)</span>
</pre></div>
<p>is equivalent to:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">x1</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="n">x1</span>
<span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="n">x2</span>
<span class="k">END</span>
</pre></div>
<p>The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">NULLIF</code> expression has two operands and returns NULL if the operands have the same value, otherwise it has the value of the first operand.
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">NULLIF</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span><span class="w"> </span><span class="n">x2</span><span class="p">)</span>
</pre></div>
<p>is equivalent to
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">x1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x2</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="n">x1</span><span class="w"> </span><span class="k">END</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Comments">Comments</h2></div>
<p>Standard SQL allows two formats for <a href="Comment_(computer_programming)" title="Comment (computer programming)">comments</a>: <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">-- comment</code>, which is ended by the first <a href="Newline" title="Newline">newline</a>, and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">/* comment */</code>, which can span multiple lines.
</p>
<div class="mw-heading mw-heading2"><h2 id="Queries">Queries</h2></div>
<p>The most common operation in SQL, the query, makes use of the declarative <code><a href="Select_(SQL)" title="Select (SQL)">SELECT</a></code> statement. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT</code> retrieves data from one or more <a href="Table_(database)" title="Table (database)">tables</a>, or expressions. Standard <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT</code> statements have no persistent effects on the database. Some non-standard implementations of <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT</code> can have persistent effects, such as the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT INTO</code> syntax provided in some databases.<sup id="cite_ref-ms-sql-select-into_2-0" class="reference"><a href="#cite_note-ms-sql-select-into-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Queries allow the user to describe desired data, leaving the <a href="Database_management_system" class="mw-redirect" title="Database management system">database management system (DBMS)</a> to carry out <a href="Query_plan" title="Query plan">planning</a>, <a href="Query_optimizer" class="mw-redirect" title="Query optimizer">optimizing</a>, and performing the physical operations necessary to produce that result as it chooses.
</p><p>A query includes a list of columns to include in the final result, normally immediately following the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT</code> keyword. An asterisk ("<code>*</code>") can be used to specify that the query should return all columns of the queried tables. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT</code> is the most complex statement in SQL, with optional keywords and clauses that include:
</p>
<ul><li>The <code><a href="From_(SQL)" title="From (SQL)">FROM</a></code> clause, which indicates the table(s) to retrieve data from. The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">FROM</code> clause can include optional <code><a href="Join_(SQL)" title="Join (SQL)">JOIN</a></code> subclauses to specify the rules for joining tables.</li>
<li>The <code>WHERE</code> clause includes a comparison predicate, which restricts the rows returned by the query. The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">WHERE</code> clause eliminates all rows from the <a href="Result_set" title="Result set">result set</a> where the comparison predicate does not evaluate to True.</li>
<li>The <code><a href="Group_by_(SQL)" title="Group by (SQL)">GROUP BY</a></code> clause projects rows having common values into a smaller set of rows. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">GROUP BY</code> is often used in conjunction with SQL aggregation functions or to eliminate duplicate rows from a result set. The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">WHERE</code> clause is applied before the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">GROUP BY</code> clause.</li>
<li>The <code><a href="Having_(SQL)" title="Having (SQL)">HAVING</a></code> clause includes a predicate used to filter rows resulting from the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">GROUP BY</code> clause. Because it acts on the results of the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">GROUP BY</code> clause, aggregation functions can be used in the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">HAVING</code> clause predicate.</li>
<li>The <code><a href="Order_by_(SQL)" class="mw-redirect" title="Order by (SQL)">ORDER BY</a></code> clause identifies which column[s] to use to sort the resulting data, and in which direction to sort them (ascending or descending). Without an <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ORDER BY</code> clause, the order of rows returned by an SQL query is undefined.</li>
<li>The <code>DISTINCT</code> keyword<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> eliminates duplicate data.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></li>
<li>The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">OFFSET</code> clause specifies the number of rows to skip before starting to return data.</li>
<li>The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">FETCH FIRST</code> clause specifies the number of rows to return. Some SQL databases instead have non-standard alternatives, e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">LIMIT</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TOP</code> or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ROWNUM</code>.</li></ul>
<p>The clauses of a query have a particular order of execution,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> which is denoted by the number on the right hand side. It is as follows:
</p>
<table>
<tbody><tr>
<td><code>SELECT <i><columns></i></code></td>
<td>5.
</td></tr>
<tr>
<td><code>FROM <i><table></i></code></td>
<td>1.
</td></tr>
<tr>
<td><code>WHERE <i><predicate on rows></i></code></td>
<td>2.
</td></tr>
<tr>
<td><code>GROUP BY <i><columns></i></code></td>
<td>3.
</td></tr>
<tr>
<td><code>HAVING <i><predicate on groups></i></code></td>
<td>4.
</td></tr>
<tr>
<td><code>ORDER BY <i><columns></i></code></td>
<td>6.
</td></tr>
<tr>
<td><code>OFFSET</code></td>
<td>7.
</td></tr>
<tr>
<td><code>FETCH FIRST</code></td>
<td>8.
</td></tr></tbody></table>
<p>The following example of a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SELECT</code> query returns a list of expensive books. The query retrieves all rows from the <i>Book</i> table in which the <i>price</i> column contains a value greater than 100.00. The result is sorted in ascending order by <i>title</i>. The asterisk (*) in the <i>select list</i> indicates that all columns of the <i>Book</i> table should be included in the result set.
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Book</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">price</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">00</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">title</span><span class="p">;</span>
</pre></div>
<p>The example below demonstrates a query of multiple tables, grouping, and aggregation, by returning a list of books and the number of authors associated with each book.
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">SELECT</span><span class="w"> </span><span class="n">Book</span><span class="p">.</span><span class="n">title</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Title</span><span class="p">,</span>
<span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Authors</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Book</span>
<span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Book_author</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">Book</span><span class="p">.</span><span class="n">isbn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Book_author</span><span class="p">.</span><span class="n">isbn</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Book</span><span class="p">.</span><span class="n">title</span><span class="p">;</span>
</pre></div>
<p>Example output might resemble the following:
</p>
<pre>Title Authors
---------------------- -------
SQL Examples and Guide 4
The Joy of SQL 1
An Introduction to SQL 2
Pitfalls of SQL 1
</pre>
<p>Under the precondition that <i>isbn</i> is the only common column name of the two tables and that a column named <i>title</i> only exists in the <i>Book</i> table, one could re-write the query above in the following form:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">SELECT</span><span class="w"> </span><span class="n">title</span><span class="p">,</span>
<span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Authors</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Book</span>
<span class="w"> </span><span class="k">NATURAL</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Book_author</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">title</span><span class="p">;</span>
</pre></div>
<p>However, many vendors either do not support this approach, or require certain column-naming conventions for natural joins to work effectively.
</p><p>SQL includes operators and functions for calculating values on stored values. SQL allows the use of expressions in the <i>select list</i> to project data, as in the following example, which returns a list of books that cost more than 100.00 with an additional <i>sales_tax</i> column containing a sales tax figure calculated at 6% of the <i>price</i>.
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">SELECT</span><span class="w"> </span><span class="n">isbn</span><span class="p">,</span>
<span class="w"> </span><span class="n">title</span><span class="p">,</span>
<span class="w"> </span><span class="n">price</span><span class="p">,</span>
<span class="w"> </span><span class="n">price</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">06</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">sales_tax</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Book</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">price</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">00</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">title</span><span class="p">;</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Subqueries">Subqueries</h3></div>
<p>Queries can be nested so that the results of one query can be used in another query via a <a href="Relational_operator" title="Relational operator">relational operator</a> or aggregation function. A nested query is also known as a <i>subquery</i>. While joins and other table operations provide computationally superior (i.e. faster) alternatives in many cases, the use of subqueries introduces a hierarchy in execution that can be useful or necessary. In the following example, the aggregation function <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">AVG</code> receives as input the result of a subquery:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">SELECT</span><span class="w"> </span><span class="n">isbn</span><span class="p">,</span>
<span class="w"> </span><span class="n">title</span><span class="p">,</span>
<span class="w"> </span><span class="n">price</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Book</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">price</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="k">AVG</span><span class="p">(</span><span class="n">price</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Book</span><span class="p">)</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">title</span><span class="p">;</span>
</pre></div>
<p>A subquery can use values from the outer query, in which case it is known as a <a href="Correlated_subquery" title="Correlated subquery">correlated subquery</a>.
</p><p>Since 1999 the SQL standard allows <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">WITH</code> clauses for subqueries, i.e. named subqueries, usually called <a href="Common_table_expression" class="mw-redirect" title="Common table expression">common table expressions</a> (also called <a href="Subquery_factoring" class="mw-redirect" title="Subquery factoring">subquery factoring</a>). CTEs can also be <a href="Recursive" class="mw-redirect" title="Recursive">recursive</a> by referring to themselves; <a href="Hierarchical_and_recursive_queries_in_SQL" title="Hierarchical and recursive queries in SQL">the resulting mechanism</a> allows tree or graph traversals (when represented as relations), and more generally <a href="Fixpoint" class="mw-redirect" title="Fixpoint">fixpoint</a> computations.
</p>
<div class="mw-heading mw-heading3"><h3 id="Derived_table">Derived table</h3></div>
<p>A <i>derived table</i> is the use of referencing an SQL subquery in a FROM clause. Essentially, the derived table is a subquery that can be selected from or joined to. The derived table functionality allows the user to reference the subquery as a table. The derived table is sometimes referred to as an <i>inline view </i> or a <i>subselect</i>.
</p><p>In the following example, the SQL statement involves a join from the initial "Book" table to the derived table "sales". This derived table captures associated book sales information using the ISBN to join to the "Book" table. As a result, the derived table provides the result set with additional columns (the number of items sold and the company that sold the books):
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">SELECT</span><span class="w"> </span><span class="n">b</span><span class="p">.</span><span class="n">isbn</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">.</span><span class="n">title</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">.</span><span class="n">price</span><span class="p">,</span><span class="w"> </span><span class="n">sales</span><span class="p">.</span><span class="n">items_sold</span><span class="p">,</span><span class="w"> </span><span class="n">sales</span><span class="p">.</span><span class="n">company_nm</span>
<span class="k">FROM</span><span class="w"> </span><span class="n">Book</span><span class="w"> </span><span class="n">b</span>
<span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="k">SUM</span><span class="p">(</span><span class="n">Items_Sold</span><span class="p">)</span><span class="w"> </span><span class="n">Items_Sold</span><span class="p">,</span><span class="w"> </span><span class="n">Company_Nm</span><span class="p">,</span><span class="w"> </span><span class="n">ISBN</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Book_Sales</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Company_Nm</span><span class="p">,</span><span class="w"> </span><span class="n">ISBN</span><span class="p">)</span><span class="w"> </span><span class="n">sales</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">sales</span><span class="p">.</span><span class="n">isbn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">b</span><span class="p">.</span><span class="n">isbn</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Null_or_three-valued_logic_(3VL)">Null or three-valued logic (3VL)</h3></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Null_(SQL)" title="Null (SQL)">Null (SQL)</a></div>
<p>The concept of <a href="Null_(SQL)" title="Null (SQL)">Null</a> allows SQL to deal with missing information in the relational model. The word <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">NULL</code> is a reserved keyword in SQL, used to identify the Null special marker. Comparisons with Null, for instance equality (=) in WHERE clauses, results in an Unknown truth value. In SELECT statements SQL returns only results for which the WHERE clause returns a value of True; i.e., it excludes results with values of False and also excludes those whose value is Unknown.
</p><p>Along with True and False, the Unknown resulting from direct comparisons with Null thus brings a fragment of <a href="Three-valued_logic" title="Three-valued logic">three-valued logic</a> to SQL. The truth tables SQL uses for AND, OR, and NOT correspond to a common fragment of the Kleene and Lukasiewicz three-valued logic (which differ in their definition of implication, however SQL defines no such operation).<sup id="cite_ref-Klein_6-0" class="reference"><a href="#cite_note-Klein-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<table border="0">
<tbody><tr>
<td valign="top">
<table class="wikitable">
<tbody><tr>
<th colspan="2" rowspan="2">p AND q
</th>
<th colspan="3">p
</th></tr>
<tr>
<th style="width: 5em;">True
</th>
<th style="width: 5em;">False
</th>
<th style="width: 5em;">Unknown
</th></tr>
<tr>
<th rowspan="3" style="width: 1.2em;">q</th>
<th style="width: 5em;">True
</th>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr>
<tr>
<th style="width: 5em;">False
</th>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td></tr>
<tr>
<th style="width: 5em;">Unknown
</th>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr></tbody></table>
</td>
<td valign="top">
<table class="wikitable">
<tbody><tr>
<th colspan="2" rowspan="2">p OR q
</th>
<th colspan="3">p
</th></tr>
<tr>
<th style="width: 5em;">True
</th>
<th style="width: 5em;">False
</th>
<th style="width: 5em;">Unknown
</th></tr>
<tr>
<th rowspan="3" style="width: 1.2em;">q</th>
<th style="width: 5em;">True
</th>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td></tr>
<tr>
<th style="width: 5em;">False
</th>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr>
<tr>
<th style="width: 5em;">Unknown
</th>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr></tbody></table>
</td></tr></tbody></table>
<table border="0">
<tbody><tr>
<td valign="top">
<table class="wikitable">
<tbody><tr>
<th colspan="2" rowspan="2">p = q
</th>
<th colspan="3">p
</th></tr>
<tr>
<th style="width: 5em;">True
</th>
<th style="width: 5em;">False
</th>
<th style="width: 5em;">Unknown
</th></tr>
<tr>
<th rowspan="3" style="width: 1.2em;">q</th>
<th style="width: 5em;">True
</th>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr>
<tr>
<th style="width: 5em;">False
</th>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr>
<tr>
<th style="width: 5em;">Unknown
</th>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr></tbody></table>
</td>
<td valign="top">
<table class="wikitable">
<tbody><tr>
<th style="width: 5em;">q
</th>
<th style="width: 5em;">NOT q
</th></tr>
<tr>
<th>True
</th>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">False
</td></tr>
<tr>
<th>False
</th>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">True
</td></tr>
<tr>
<th>Unknown
</th>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td></tr></tbody></table>
</td></tr></tbody></table>
<p>There are however disputes about the semantic interpretation of Nulls in SQL because of its treatment outside direct comparisons. As seen in the table above, direct equality comparisons between two NULLs in SQL (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">NULL = NULL</code>) return a truth value of Unknown. This is in line with the interpretation that Null does not have a value (and is not a member of any data domain) but is rather a placeholder or "mark" for missing information. However, the principle that two Nulls aren't equal to each other is effectively violated in the SQL specification for the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">UNION</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">INTERSECT</code> operators, which do identify nulls with each other.<sup id="cite_ref-Meyden_7-0" class="reference"><a href="#cite_note-Meyden-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> Consequently, these <a href="Set_operations_(SQL)" title="Set operations (SQL)">set operations in SQL</a> may produce results not representing sure information, unlike operations involving explicit comparisons with NULL (e.g. those in a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">WHERE</code> clause discussed above). In Codd's 1979 proposal (which was basically adopted by SQL92) this semantic inconsistency is rationalized by arguing that removal of duplicates in set operations happens "at a lower level of detail than equality testing in the evaluation of retrieval operations".<sup id="cite_ref-Klein_6-1" class="reference"><a href="#cite_note-Klein-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> However, computer-science professor Ron van der Meyden concluded that "The inconsistencies in the SQL standard mean that it is not possible to ascribe any intuitive logical semantics to the treatment of nulls in SQL."<sup id="cite_ref-Meyden_7-1" class="reference"><a href="#cite_note-Meyden-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p>Additionally, because SQL operators return Unknown when comparing anything with Null directly, SQL provides two Null-specific comparison predicates: <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">IS NULL</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">IS NOT NULL</code> test whether data is or is not Null.<sup id="cite_ref-SQL2003-Part2-Sec87_8-0" class="reference"><a href="#cite_note-SQL2003-Part2-Sec87-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> SQL does not explicitly support <a href="Universal_quantification" title="Universal quantification">universal quantification</a>, and must work it out as a negated <a href="Existential_quantification" title="Existential quantification">existential quantification</a>.<sup id="cite_ref-Negri_9-0" class="reference"><a href="#cite_note-Negri-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Fratarcangeli_10-0" class="reference"><a href="#cite_note-Fratarcangeli-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-kawash_11-0" class="reference"><a href="#cite_note-kawash-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> There is also the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr"><row value expression> IS DISTINCT FROM <row value expression></code> infixed comparison operator, which returns TRUE unless both operands are equal or both are NULL. Likewise, IS NOT DISTINCT FROM is defined as <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">NOT (<row value expression> IS DISTINCT FROM <row value expression>)</code>. <a href="SQL%3A1999" title="SQL:1999">SQL:1999</a> also introduced <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">BOOLEAN</code> data type, which according to the standard can also hold Unknown values if it is nullable. In practice, a number of systems (e.g. <a href="PostgreSQL" title="PostgreSQL">PostgreSQL</a>) implement the BOOLEAN Unknown as a BOOLEAN NULL, which the standard says that the NULL BOOLEAN and UNKNOWN "may be used interchangeably to mean exactly the same thing".<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Data_manipulation">Data manipulation</h3></div>
<p>The <a href="Data_Manipulation_Language" class="mw-redirect" title="Data Manipulation Language">Data Manipulation Language</a> (DML) is the subset of SQL used to add, update and delete data:
</p>
<ul><li><code><a href="Insert_(SQL)" title="Insert (SQL)">INSERT</a></code> adds rows (formally <a href="Tuple" title="Tuple">tuples</a>) to an existing table, e.g.:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">example</span>
<span class="w"> </span><span class="p">(</span><span class="n">column1</span><span class="p">,</span><span class="w"> </span><span class="n">column2</span><span class="p">,</span><span class="w"> </span><span class="n">column3</span><span class="p">)</span>
<span class="w"> </span><span class="k">VALUES</span>
<span class="w"> </span><span class="p">(</span><span class="s1">'test'</span><span class="p">,</span><span class="w"> </span><span class="s1">'N'</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
</pre></div>
<ul><li><code><a href="Update_(SQL)" title="Update (SQL)">UPDATE</a></code> modifies a set of existing table rows, e.g.:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">UPDATE</span><span class="w"> </span><span class="n">example</span>
<span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">column1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'updated value'</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">column2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'N'</span><span class="p">;</span>
</pre></div>
<ul><li><code><a href="Delete_(SQL)" title="Delete (SQL)">DELETE</a></code> removes existing rows from a table, e.g.:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">DELETE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">example</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">column2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'N'</span><span class="p">;</span>
</pre></div>
<ul><li><code><a href="Merge_(SQL)" title="Merge (SQL)">MERGE</a></code> is used to combine the data of multiple tables. It combines the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">INSERT</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">UPDATE</code> elements. It is defined in the SQL:2003 standard; prior to that, some databases provided similar functionality via different syntax, sometimes called "<a href="Upsert" class="mw-redirect" title="Upsert">upsert</a>".</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="w"> </span><span class="n">MERGE</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="k">table_name</span><span class="w"> </span><span class="k">USING</span><span class="w"> </span><span class="n">table_reference</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="p">(</span><span class="n">condition</span><span class="p">)</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">MATCHED</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">column1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">value1</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">column2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">value2</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="n">MATCHED</span><span class="w"> </span><span class="k">THEN</span>
<span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="p">(</span><span class="n">column1</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">column2</span><span class="w"> </span><span class="p">...])</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">value1</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">value2</span><span class="w"> </span><span class="p">...])</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Transaction_controls">Transaction controls</h3></div>
<p>Transactions, if available, wrap DML operations:
</p>
<ul><li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">START TRANSACTION</code> (or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">BEGIN WORK</code>, or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">BEGIN TRANSACTION</code>, depending on SQL dialect) marks the start of a <a href="Database_transaction" title="Database transaction">database transaction</a>, which either completes entirely or not at all.</li>
<li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SAVE TRANSACTION</code> (or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SAVEPOINT</code>) saves the state of the database at the current point in transaction</li></ul>
<div class="mw-highlight mw-highlight-lang-postgresql mw-content-ltr" dir="ltr"><pre><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tbl_1</span><span class="p">(</span><span class="n">id</span><span class="w"> </span><span class="nb">int</span><span class="p">);</span>
<span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">tbl_1</span><span class="p">(</span><span class="n">id</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="p">(</span><span class="mf">1</span><span class="p">);</span>
<span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">tbl_1</span><span class="p">(</span><span class="n">id</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="p">(</span><span class="mf">2</span><span class="p">);</span>
<span class="k">COMMIT</span><span class="p">;</span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="n">tbl_1</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">id</span><span class="o">=</span><span class="mf">200</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">id</span><span class="o">=</span><span class="mf">1</span><span class="p">;</span>
<span class="k">SAVEPOINT</span><span class="w"> </span><span class="n">id_1upd</span><span class="p">;</span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="n">tbl_1</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">id</span><span class="o">=</span><span class="mf">1000</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">id</span><span class="o">=</span><span class="mf">2</span><span class="p">;</span>
<span class="k">ROLLBACK</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">id_1upd</span><span class="p">;</span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tbl_1</span><span class="p">;</span>
</pre></div>
<ul><li><code><a href="Commit_(SQL)" class="mw-redirect" title="Commit (SQL)">COMMIT</a></code> makes all data changes in a transaction permanent.</li>
<li><code><a href="Rollback_(SQL)" class="mw-redirect" title="Rollback (SQL)">ROLLBACK</a></code> discards all data changes since the last <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">COMMIT</code> or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ROLLBACK</code>, leaving the data as it was prior to those changes. Once the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">COMMIT</code> statement completes, the transaction's changes cannot be rolled back.</li></ul>
<p><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">COMMIT</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ROLLBACK</code> terminate the current transaction and release data locks. In the absence of a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">START TRANSACTION</code> or similar statement, the semantics of SQL are implementation-dependent.
The following example shows a classic transfer of funds transaction, where money is removed from one account and added to another. If either the removal or the addition fails, the entire transaction is rolled back.
</p>
<div class="mw-highlight mw-highlight-lang-plpgsql mw-content-ltr" dir="ltr"><pre><span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="n">Account</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">amount</span><span class="o">=</span><span class="n">amount</span><span class="o">-</span><span class="mf">200</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">account_number</span><span class="o">=</span><span class="mf">1234</span><span class="p">;</span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="n">Account</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">amount</span><span class="o">=</span><span class="n">amount</span><span class="o">+</span><span class="mf">200</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">account_number</span><span class="o">=</span><span class="mf">2345</span><span class="p">;</span>
<span class="k">IF</span><span class="w"> </span><span class="n">ERRORS</span><span class="o">=</span><span class="mf">0</span><span class="w"> </span><span class="k">COMMIT</span><span class="p">;</span>
<span class="k">IF</span><span class="w"> </span><span class="n">ERRORS</span><span class="o"><></span><span class="mf">0</span><span class="w"> </span><span class="k">ROLLBACK</span><span class="p">;</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Data_definition">Data definition</h3></div>
<p>The <a href="Data_Definition_Language" class="mw-redirect" title="Data Definition Language">Data Definition Language</a> (DDL) manages table and index structure. The most basic items of DDL are the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">CREATE</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ALTER</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">RENAME</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DROP</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TRUNCATE</code> statements:
</p>
<ul><li><code><a href="Create_(SQL)" class="mw-redirect" title="Create (SQL)">CREATE</a></code> creates an object (a table, for example) in the database, e.g.:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">example</span><span class="p">(</span>
<span class="w"> </span><span class="n">column1</span><span class="w"> </span><span class="nb">INTEGER</span><span class="p">,</span>
<span class="w"> </span><span class="n">column2</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span>
<span class="w"> </span><span class="n">column3</span><span class="w"> </span><span class="nb">DATE</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span>
<span class="w"> </span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">KEY</span><span class="w"> </span><span class="p">(</span><span class="n">column1</span><span class="p">,</span><span class="w"> </span><span class="n">column2</span><span class="p">)</span>
<span class="p">);</span>
</pre></div>
<ul><li><code><a href="Alter_(SQL)" class="mw-redirect" title="Alter (SQL)">ALTER</a></code> modifies the structure of an existing object in various ways, for example, adding a column to an existing table or a constraint, e.g.:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">ALTER</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">example</span><span class="w"> </span><span class="k">ADD</span><span class="w"> </span><span class="n">column4</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span><span class="mi">25</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
</pre></div>
<ul><li><code><a href="Truncate_(SQL)" title="Truncate (SQL)">TRUNCATE</a></code> deletes all data from a table in a very fast way, deleting the data inside the table and not the table itself. It usually implies a subsequent COMMIT operation, i.e., it cannot be rolled back (data is not written to the logs for rollback later, unlike DELETE).</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">TRUNCATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">example</span><span class="p">;</span>
</pre></div>
<ul><li><code><a href="Drop_(SQL)" class="mw-redirect" title="Drop (SQL)">DROP</a></code> deletes an object in the database, usually irretrievably, i.e., it cannot be rolled back, e.g.:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">DROP</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">example</span><span class="p">;</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Data_types">Data types</h3></div>
<p>Each column in an SQL table declares the type(s) that column may contain. ANSI SQL includes the following data types.<sup id="cite_ref-ISO/IEC_14-0" class="reference"><a href="#cite_note-ISO/IEC-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dt>Character strings and national character strings</dt></dl>
<ul><li><code>CHARACTER(<var>n</var>)</code> (or <code>CHAR(<var>n</var>)</code>): fixed-width <var>n</var>-character string, padded with spaces as needed</li>
<li><code>CHARACTER VARYING(<var>n</var>)</code> (or <code>VARCHAR(<var>n</var>)</code>): variable-width string with a maximum size of <var>n</var> characters</li>
<li><code>CHARACTER LARGE OBJECT(<var>n</var> [ K | M | G | T ])</code> (or <code>CLOB(<var>n</var> [ K | M | G | T ])</code>): character large object with a maximum size of <var>n [ K | M | G | T ]</var> characters</li>
<li><code>NATIONAL CHARACTER(<var>n</var>)</code> (or <code>NCHAR(<var>n</var>)</code>): fixed width string supporting an international character set</li>
<li><code>NATIONAL CHARACTER VARYING(<var>n</var>)</code> (or <code>NVARCHAR(<var>n</var>)</code>): variable-width <code>NCHAR</code> string</li>
<li><code>NATIONAL CHARACTER LARGE OBJECT(<var>n</var> [ K | M | G | T ])</code> (or <code>NCLOB(<var>n</var> [ K | M | G | T ])</code>): national character large object with a maximum size of <var>n [ K | M | G | T ]</var> characters</li></ul>
<p>For the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">CHARACTER LARGE OBJECT</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">NATIONAL CHARACTER LARGE OBJECT</code> data types, the multipliers <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">K</code> (1 024), <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">M</code> (1 048 576), <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">G</code> (1 073 741 824) and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">T</code> (1 099 511 627 776) can be optionally used when specifying the length.
</p>
<dl><dt>Binary</dt></dl>
<ul><li><code>BINARY(<var>n</var>)</code>: Fixed length binary string, maximum length <var>n</var>.</li>
<li><code>BINARY VARYING(<var>n</var>)</code> (or <code>VARBINARY(<var>n</var>)</code>): Variable length binary string, maximum length <var>n</var>.</li>
<li><code>BINARY LARGE OBJECT(<var>n</var> [ K | M | G | T ])</code> (or <code>BLOB(<var>n</var> [ K | M | G | T ])</code>): binary large object with a maximum length <var>n [ K | M | G | T ]</var>.</li></ul>
<p>For the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">BINARY LARGE OBJECT</code> data type, the multipliers <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">K</code> (1 024), <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">M</code> (1 048 576), <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">G</code> (1 073 741 824) and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">T</code> (1 099 511 627 776) can be optionally used when specifying the length.
</p>
<dl><dt>Boolean</dt></dl>
<ul><li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">BOOLEAN</code></li></ul>
<p>The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">BOOLEAN</code> data type can store the values <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TRUE</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">FALSE</code>.
</p>
<dl><dt>Numerical</dt></dl>
<ul><li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">INTEGER</code> (or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">INT</code>), <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SMALLINT</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">BIGINT</code></li>
<li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">FLOAT</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">REAL</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DOUBLE PRECISION</code></li>
<li><code>NUMERIC(<var>precision</var>, <var>scale</var>)</code> or <code>DECIMAL(<var>precision</var>, <var>scale</var>)</code></li>
<li><code>DECFLOAT(<var>precision</var></code>)</li></ul>
<p>For example, the number 123.45 has a precision of 5 and a scale of 2. The <var>precision</var> is a positive integer that determines the number of significant digits in a particular radix (binary or decimal). The <var>scale</var> is a non-negative integer. A scale of 0 indicates that the number is an integer. For a decimal number with scale S, the exact numeric value is the integer value of the significant digits divided by 10<sup>S</sup>.
</p><p>SQL provides the functions <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">CEILING</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">FLOOR</code> to round numerical values. (Popular vendor specific functions are <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TRUNC</code> (Informix, DB2, PostgreSQL, Oracle and MySQL) and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ROUND</code> (Informix, SQLite, Sybase, Oracle, PostgreSQL, Microsoft SQL Server and Mimer SQL.))
</p>
<dl><dt>Temporal (datetime)</dt></dl>
<ul><li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DATE</code>: for date values (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">2011-05-03</code>).</li>
<li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TIME</code>: for time values (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">15:51:36</code>).</li>
<li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TIME WITH TIME ZONE</code>: the same as <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TIME</code>, but including details about the time zone in question.</li>
<li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TIMESTAMP</code>: This is a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DATE</code> and a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TIME</code> put together in one value (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">2011-05-03 15:51:36.123456</code>).</li>
<li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TIMESTAMP WITH TIME ZONE</code>: the same as <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TIMESTAMP</code>, but including details about the time zone in question.</li></ul>
<p>The SQL function <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">EXTRACT</code> can be used for extracting a single field (seconds, for instance) of a datetime or interval value. The current system date / time of the database server can be called by using functions like <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">CURRENT_DATE</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">CURRENT_TIMESTAMP</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">LOCALTIME</code>, or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">LOCALTIMESTAMP</code>. (Popular vendor specific functions are <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TO_DATE</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TO_TIME</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">TO_TIMESTAMP</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">YEAR</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">MONTH</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DAY</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">HOUR</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">MINUTE</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SECOND</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DAYOFYEAR</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DAYOFMONTH</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DAYOFWEEK</code>.)
</p>
<dl><dt>Interval (datetime)</dt></dl>
<ul><li><code>YEAR(<var>precision</var>)</code>: a number of years</li>
<li><code>YEAR(<var>precision</var>) TO MONTH</code>: a number of years and months</li>
<li><code>MONTH(<var>precision</var>)</code>: a number of months</li>
<li><code>DAY(<var>precision</var>)</code>: a number of days</li>
<li><code>DAY(<var>precision</var>) TO HOUR</code>: a number of days and hours</li>
<li><code>DAY(<var>precision</var>) TO MINUTE</code>: a number of days, hours and minutes</li>
<li><code>DAY(<var>precision</var>) TO SECOND(<var>scale</var>)</code>: a number of days, hours, minutes and seconds</li>
<li><code>HOUR(<var>precision</var>)</code>: a number of hours</li>
<li><code>HOUR(<var>precision</var>) TO MINUTE</code>: a number of hours and minutes</li>
<li><code>HOUR(<var>precision</var>) TO SECOND(<var>scale</var>)</code>: a number of hours, minutes and seconds</li>
<li><code>MINUTE(<var>precision</var>)</code>: a number of minutes</li>
<li><code>MINUTE(<var>precision</var>) TO SECOND(<var>scale</var>)</code>: a number of minutes and seconds</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Data_control">Data control</h3></div>
<p>The <a href="Data_Control_Language" class="mw-redirect" title="Data Control Language">Data Control Language</a> (DCL) authorizes users to access and manipulate data.
Its two main statements are:
</p>
<ul><li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">GRANT</code> authorizes one or more users to perform an operation or a set of operations on an object.</li>
<li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">REVOKE</code> eliminates a grant, which may be the default grant.</li></ul>
<p>Example:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span class="k">GRANT</span><span class="w"> </span><span class="k">SELECT</span><span class="p">,</span><span class="w"> </span><span class="k">UPDATE</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">example</span>
<span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">some_user</span><span class="p">,</span><span class="w"> </span><span class="n">another_user</span><span class="p">;</span>
<span class="k">REVOKE</span><span class="w"> </span><span class="k">SELECT</span><span class="p">,</span><span class="w"> </span><span class="k">UPDATE</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">example</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">some_user</span><span class="p">,</span><span class="w"> </span><span class="n">another_user</span><span class="p">;</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-ANSI/ISO/IEC-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-ANSI/ISO/IEC_1-0">^</a></b></span> <span class="reference-text">ANSI/ISO/IEC International Standard (IS). Database Language SQL—Part 2: Foundation (SQL/Foundation). 1999.</span>
</li>
<li id="cite_note-ms-sql-select-into-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-ms-sql-select-into_2-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/sql/t-sql/queries/select-into-clause-transact-sql">"SELECT - INTO Clause (Transact-SQL)"</a>. <i>learn.microsoft.com</i>. 2023-05-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-11-07</span></span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">
<cite class="citation book cs1"><a rel="nofollow" class="external text" href="https://books.google.com/books?id=ESjMAAAAQBAJ"><i>SAS 9.4 SQL Procedure User's Guide</i></a>. SAS Institute. 2013. p. 248. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781612905686</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-10-21</span></span>. <q>Although the UNIQUE argument is identical to DISTINCT, it is not an ANSI standard.</q></cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">
<cite id="CITEREFLeonLeon1999" class="citation book cs1"><a href="Alexis_Leon" title="Alexis Leon">Leon, Alexis</a>; Leon, Mathews (1999). "Eliminating duplicates - SELECT using DISTINCT". <a rel="nofollow" class="external text" href="https://books.google.com/books?id=dmiPz2MMpfwC"><i>SQL: A Complete Reference</i></a>. New Delhi: Tata McGraw-Hill Education (published 2008). p. 143. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780074637081</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-10-21</span></span>. <q>[...] the keyword DISTINCT [...] eliminates the duplicates from the result set.</q></cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.designcise.com/web/tutorial/what-is-the-order-of-execution-of-an-sql-query">"What Is The Order Of Execution Of An SQL Query? - Designcise.com"</a>. <i>www.designcise.com</i>. 29 June 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-02-04</span></span>.</cite></span>
</li>
<li id="cite_note-Klein-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-Klein_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Klein_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHans-Joachim2003" class="citation book cs1">Hans-Joachim, K. (2003). "Null Values in Relational Databases and Sure Information Answers". <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180707170027/http://www.is.informatik.uni-kiel.de/~hjk/sqlni.ps"><i>Semantics in Databases. Second International Workshop Dagstuhl Castle, Germany, January 7–12, 2001. Revised Papers</i></a>. Lecture Notes in Computer Science. Vol. 2582. pp. <span class="nowrap">119–</span>138. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-36596-6_7">10.1007/3-540-36596-6_7</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-00957-3</bdi>. Archived from <a rel="nofollow" class="external text" href="http://www.is.informatik.uni-kiel.de/~hjk/sqlni.ps">the original</a> on 7 July 2018.</cite></span>
</li>
<li id="cite_note-Meyden-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-Meyden_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Meyden_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://books.google.com/books?id=gF0b85IuqQwC&pg=PA344">Ron van der Meyden, "Logical approaches to incomplete information: a survey" in Chomicki, Jan; Saake, Gunter (Eds.) <i>Logics for Databases and Information Systems</i>, Kluwer Academic Publishers</a> <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-7923-8129-7</bdi>, p. 344</span>
</li>
<li id="cite_note-SQL2003-Part2-Sec87-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-SQL2003-Part2-Sec87_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFISO/IEC" class="citation book cs1">ISO/IEC. <i>ISO/IEC 9075-2:2003, "SQL/Foundation"</i>. ISO/IEC.</cite></span>
</li>
<li id="cite_note-Negri-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Negri_9-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFNegriPelagattiSbattella1989" class="citation journal cs1">Negri, M.; Pelagatti, G.; Sbattella, L. (February 1989). <a rel="nofollow" class="external text" href="https://doi.org/10.1093%2Fcomjnl%2F32.1.90">"Semantics and problems of universal quantification in SQL"</a>. <i>The Computer Journal</i>. <b>32</b> (1): <span class="nowrap">90–</span>91. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1093%2Fcomjnl%2F32.1.90">10.1093/comjnl/32.1.90</a></span>.</cite></span>
</li>
<li id="cite_note-Fratarcangeli-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-Fratarcangeli_10-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFratarcangeli1991" class="citation journal cs1">Fratarcangeli, Claudio (1991). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="https://dl.acm.org/doi/10.1145/126482.126484">"Technique for universal quantification in SQL"</a></span>. <i>ACM SIGMOD Record</i>. <b>20</b> (3): <span class="nowrap">16–</span>24. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F126482.126484">10.1145/126482.126484</a></span>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:18326990">18326990</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-11-07</span></span>.</cite></span>
</li>
<li id="cite_note-kawash-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-kawash_11-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.thefreelibrary.com/Complex+quantification+in+Structured+Query+Language+(SQL):+a+tutorial...-a0119901477">Kawash, Jalal (2004) Complex quantification in Structured Query Language (SQL): a tutorial using relational calculus</a>; <i>Journal of Computers in Mathematics and Science Teaching</i> <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0731-9258">0731-9258</a> Volume 23, Issue 2, 2004 AACE Norfolk, Virginia. Thefreelibrary.com</span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite id="CITEREFC._Date2011" class="citation book cs1">C. Date (2011). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=Ew06OZtjuJEC&pg=PA83"><i>SQL and Relational Theory: How to Write Accurate SQL Code</i></a>. O'Reilly Media, Inc. p. 83. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4493-1640-2</bdi>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text">ISO/IEC 9075-2:2011 §4.5</span>
</li>
<li id="cite_note-ISO/IEC-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-ISO/IEC_14-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.iso.org/standard/63555.html">"ISO/IEC 9075-1:2016: Information technology – Database languages – SQL – Part 1: Framework (SQL/Framework)"</a>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1250146164">
/* start https://en.wikipedia.org/ */
.mw-parser-output .sister-box .side-box-abovebelow{padding:0.75em 0;text-align:center}.mw-parser-output .sister-box .side-box-abovebelow>b{display:block}.mw-parser-output .sister-box .side-box-text>ul{border-top:1px solid #aaa;padding:0.75em 0;width:217px;margin:0 auto}.mw-parser-output .sister-box .side-box-text>ul>li{min-height:31px}.mw-parser-output .sister-logo{display:inline-block;width:31px;line-height:31px;vertical-align:middle;text-align:center}.mw-parser-output .sister-link{display:inline-block;margin-left:4px;width:182px;vertical-align:middle}@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}
/* end https://en.wikipedia.org/ */
</style>
<ul><li><cite class="citation cs2">"Definition of SQL grammar", <a rel="nofollow" class="external text" href="https://standards.iso.org/iso-iec/9075/-2/ed-6/en/ISO_IEC_9075-2(E)_Foundation.bnf.xml"><i>ISO_IEC_9075-2(E)_Foundation.bnf.xml</i></a> <span class="cs1-format">(<a href="Backus%E2%80%93Naur_form" title="Backus–Naur form">Backus–Naur form</a> XML)</span>, ISO Standards Maintenance Portal</cite>.</li>
<li><cite class="citation cs2">"Online SQL Formating Utility", <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240918172914/https://quickformatter.com/sql-formatter"><i>Online SQL Formatter Utility</i></a>, archived from <a rel="nofollow" class="external text" href="https://quickformatter.com/sql-formatter">the original</a> on 2024-09-18</cite>.</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r920966791">
/* start https://en.wikipedia.org/ */
.mw-parser-output span.smallcaps{font-variant:small-caps}.mw-parser-output span.smallcaps-smaller{font-size:85%}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="SQL70" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="SQL70" style="font-size:114%;margin:0 4em"><a href="SQL" title="SQL">SQL</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Versions</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="SEQUEL" class="mw-redirect" title="SEQUEL">SEQUEL</a></li>
<li>SQL-86</li>
<li>SQL-89</li>
<li><a href="SQL-92" title="SQL-92">SQL-92</a></li>
<li><a href="SQL%3A1999" title="SQL:1999">SQL:1999</a></li>
<li><a href="SQL%3A2003" title="SQL:2003">SQL:2003</a></li>
<li><a href="SQL%3A2006" title="SQL:2006">SQL:2006</a></li>
<li><a href="SQL%3A2008" title="SQL:2008">SQL:2008</a></li>
<li><a href="SQL%3A2011" title="SQL:2011">SQL:2011</a></li>
<li><a href="SQL%3A2016" title="SQL:2016">SQL:2016</a></li>
<li><a href="SQL%3A2023" title="SQL:2023">SQL:2023</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="SQL_reserved_words" class="mw-redirect" title="SQL reserved words">Keywords</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><span class="smallcaps"><a href="Alias_(SQL)" title="Alias (SQL)">As</a></span></li>
<li><span class="smallcaps"><a href="Case_(SQL)" class="mw-redirect" title="Case (SQL)">Case</a></span></li>
<li><span class="smallcaps"><a href="Create_(SQL)" class="mw-redirect" title="Create (SQL)">Create</a></span></li>
<li><span class="smallcaps"><a href="Delete_(SQL)" title="Delete (SQL)">Delete</a></span></li>
<li><span class="smallcaps"><a href="From_(SQL)" title="From (SQL)">From</a></span></li>
<li><span class="smallcaps"><a href="Group_by_(SQL)" title="Group by (SQL)">Group by</a></span></li>
<li><span class="smallcaps"><a href="Having_(SQL)" title="Having (SQL)">Having</a></span></li>
<li><span class="smallcaps"><a href="Insert_(SQL)" title="Insert (SQL)">Insert</a></span></li>
<li><span class="smallcaps"><a href="Join_(SQL)" title="Join (SQL)">Join</a></span></li>
<li><span class="smallcaps"><a href="Merge_(SQL)" title="Merge (SQL)">Merge</a></span></li>
<li><span class="smallcaps"><a href="Null_(SQL)" title="Null (SQL)">Null</a></span></li>
<li><span class="smallcaps"><a href="Order_by" title="Order by">Order by</a></span></li>
<li><span class="smallcaps"><a href="Window_function_(SQL)" title="Window function (SQL)">Over</a></span></li>
<li><span class="smallcaps"><a href="Prepare_(SQL)" class="mw-redirect" title="Prepare (SQL)">Prepare</a></span></li>
<li><span class="smallcaps"><a href="Select_(SQL)" title="Select (SQL)">Select</a></span></li>
<li><span class="smallcaps"><a href="Truncate_(SQL)" title="Truncate (SQL)">Truncate</a></span></li>
<li><span class="smallcaps"><a href="Set_operations_(SQL)" title="Set operations (SQL)">Union</a></span></li>
<li><span class="smallcaps"><a href="Update_(SQL)" title="Update (SQL)">Update</a></span></li>
<li><span class="smallcaps"><a href="With_(SQL)" class="mw-redirect" title="With (SQL)">With</a></span></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Edgar_F._Codd" title="Edgar F. Codd">Edgar Codd</a></li>
<li><a href="Relational_database" title="Relational database">Relational database</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">ISO/IEC SQL parts</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Framework</li>
<li>Foundation</li>
<li><a href="SQL/CLI" class="mw-redirect" title="SQL/CLI">Call-Level Interface</a></li>
<li><a href="SQL/PSM" title="SQL/PSM">Persistent Stored Modules</a></li>
<li><a href="SQL/MED" title="SQL/MED">Management of External Data</a></li>
<li><a href="SQL/OLB" title="SQL/OLB">Object Language Bindings</a></li>
<li><a href="SQL/Schemata" title="SQL/Schemata">Information and Definition Schemas</a></li>
<li><a href="SQL/JRT" title="SQL/JRT">SQL Routines and Types for the Java Programming Language</a></li>
<li><a href="SQL/XML" title="SQL/XML">XML-Related Specifications</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Database_management_systems327" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Database_management_systems327" style="font-size:114%;margin:0 4em"><a href="Database" title="Database">Database management systems</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Types</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Object_database" title="Object database">Object-oriented</a>
<ul><li><a href="Comparison_of_object_database_management_systems" title="Comparison of object database management systems">comparison</a></li></ul></li>
<li><a href="Relational_database" title="Relational database">Relational</a>
<ul><li><a href="List_of_relational_database_management_systems" title="List of relational database management systems">list</a></li>
<li><a href="Comparison_of_relational_database_management_systems" title="Comparison of relational database management systems">comparison</a></li></ul></li>
<li><a href="Key%E2%80%93value_database" title="Key–value database">Key–value</a></li>
<li><a href="Column-oriented_DBMS" class="mw-redirect" title="Column-oriented DBMS">Column-oriented</a>
<ul><li><a href="List_of_column-oriented_DBMSes" title="List of column-oriented DBMSes">list</a></li></ul></li>
<li><a href="Document-oriented_database" title="Document-oriented database">Document-oriented</a></li>
<li><a href="Wide-column_store" title="Wide-column store">Wide-column store</a></li>
<li><a href="Graph_database" title="Graph database">Graph</a></li>
<li><a href="NoSQL" title="NoSQL">NoSQL</a></li>
<li><a href="NewSQL" title="NewSQL">NewSQL</a></li>
<li><a href="In-memory_database" title="In-memory database">In-memory</a>
<ul><li><a href="List_of_in-memory_databases" title="List of in-memory databases">list</a></li></ul></li>
<li><a href="Multi-model_database" title="Multi-model database">Multi-model</a>
<ul><li><a href="Comparison_of_multi-model_databases" title="Comparison of multi-model databases">comparison</a></li></ul></li>
<li><a href="Cloud_database" title="Cloud database">Cloud</a></li>
<li><a href="Blockchain-based_database" title="Blockchain-based database">Blockchain-based database</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Database" title="Database">Database</a></li>
<li><a href="ACID" title="ACID">ACID</a></li>
<li><a href="Armstrong's_axioms" title="Armstrong's axioms">Armstrong's axioms</a></li>
<li><a href="Codd's_12_rules" title="Codd's 12 rules">Codd's 12 rules</a></li>
<li><a href="CAP_theorem" title="CAP theorem">CAP theorem</a></li>
<li><a href="Create%2C_read%2C_update_and_delete" title="Create, read, update and delete">CRUD</a></li>
<li><a href="Null_(SQL)" title="Null (SQL)">Null</a></li>
<li><a href="Candidate_key" title="Candidate key">Candidate key</a></li>
<li><a href="Foreign_key" title="Foreign key">Foreign key</a></li>
<li><a href="PACELC_design_principle" title="PACELC design principle">PACELC design principle</a></li>
<li><a href="Superkey" title="Superkey">Superkey</a></li>
<li><a href="Surrogate_key" title="Surrogate key">Surrogate key</a></li>
<li><a href="Unique_key" title="Unique key">Unique key</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Objects</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Relation_(database)" title="Relation (database)">Relation</a>
<ul><li><a href="Table_(database)" title="Table (database)">table</a></li>
<li><a href="Column_(database)" title="Column (database)">column</a></li>
<li><a href="Row_(database)" title="Row (database)">row</a></li></ul></li>
<li><a href="View_(SQL)" title="View (SQL)">View</a></li>
<li><a href="Database_transaction" title="Database transaction">Transaction</a></li>
<li><a href="Transaction_log" title="Transaction log">Transaction log</a></li>
<li><a href="Database_trigger" title="Database trigger">Trigger</a></li>
<li><a href="Database_index" title="Database index">Index</a></li>
<li><a href="Stored_procedure" title="Stored procedure">Stored procedure</a></li>
<li><a href="Cursor_(databases)" title="Cursor (databases)">Cursor</a></li>
<li><a href="Partition_(database)" title="Partition (database)">Partition</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Concurrency_control" title="Concurrency control">Concurrency control</a></li>
<li><a href="Data_dictionary" title="Data dictionary">Data dictionary</a></li>
<li><a href="Java_Database_Connectivity" title="Java Database Connectivity">JDBC</a></li>
<li><a href="XQuery_API_for_Java" title="XQuery API for Java">XQJ</a></li>
<li><a href="Open_Database_Connectivity" title="Open Database Connectivity">ODBC</a></li>
<li><a href="Query_language" title="Query language">Query language</a></li>
<li><a href="Query_optimization" title="Query optimization">Query optimizer</a></li>
<li><a href="Query_Rewriting" class="mw-redirect" title="Query Rewriting">Query rewriting system</a></li>
<li><a href="Query_plan" title="Query plan">Query plan</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Functions</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Database_administration" title="Database administration">Administration</a></li>
<li><a href="Query_optimization" title="Query optimization">Query optimization</a></li>
<li><a href="Replication_(computing)#DATABASE" title="Replication (computing)">Replication</a></li>
<li><a href="Shard_(database_architecture)" title="Shard (database architecture)">Sharding</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related topics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Database_model" title="Database model">Database models</a></li>
<li><a href="Database_normalization" title="Database normalization">Database normalization</a></li>
<li>Database storage</li>
<li><a href="Distributed_database" title="Distributed database">Distributed database</a></li>
<li><a href="Federated_database_system" title="Federated database system">Federated database system</a></li>
<li><a href="Referential_integrity" title="Referential integrity">Referential integrity</a></li>
<li><a href="Relational_algebra" title="Relational algebra">Relational algebra</a></li>
<li><a href="Relational_calculus" title="Relational calculus">Relational calculus</a></li>
<li><a href="Relational_model" title="Relational model">Relational model</a></li>
<li><a href="Object%E2%80%93relational_database" title="Object–relational database">Object–relational database</a></li>
<li><a href="Transaction_processing" title="Transaction processing">Transaction processing</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li>
<li><span class="noviewer" typeof="mw:File"><span title="Outline"></span></span> <a href="Outline_of_databases" title="Outline of databases">Outline</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Query_languages54" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Query_languages54" style="font-size:114%;margin:0 4em"><a href="Query_language" title="Query language">Query languages</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">In current use</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href=".QL" title=".QL">.QL</a></li>
<li><a href="Alpha_(programming_language)" title="Alpha (programming language)">ALPHA</a></li>
<li><a href="Contextual_Query_Language" title="Contextual Query Language">CQL</a></li>
<li><a href="Cypher_(query_language)" title="Cypher (query language)">Cypher</a></li>
<li><a href="Data_Analysis_Expressions" title="Data Analysis Expressions">DAX</a></li>
<li><a href="Data_Mining_Extensions" title="Data Mining Extensions">DMX</a></li>
<li><a href="Datalog" title="Datalog">Datalog</a></li>
<li><a href="GraphQL" title="GraphQL">GraphQL</a></li>
<li><a href="Graph_Query_Language" title="Graph Query Language">Graph Query Language</a></li>
<li><a href="Gremlin_(query_language)" title="Gremlin (query language)">Gremlin</a></li>
<li><a href="ISBL" title="ISBL">ISBL</a></li>
<li><a href="Lightweight_Directory_Access_Protocol" title="Lightweight Directory Access Protocol">LDAP</a></li>
<li><a href="Language_Integrated_Query" title="Language Integrated Query">LINQ</a></li>
<li><a href="Molecular_Query_Language" title="Molecular Query Language">MQL</a></li>
<li><a href="MultiDimensional_eXpressions" title="MultiDimensional eXpressions">MDX</a></li>
<li><a href="Object_Query_Language" title="Object Query Language">OQL</a></li>
<li><a href="Object_Constraint_Language" title="Object Constraint Language">OCL</a></li>
<li><a href="QUEL_query_languages" title="QUEL query languages">QUEL</a></li>
<li><a href="RDF_query_language" title="RDF query language">RDF</a></li>
<li><a href="SMILES_arbitrary_target_specification" title="SMILES arbitrary target specification">SMARTS</a></li>
<li><a href="SPARQL" title="SPARQL">SPARQL</a></li>
<li><a href="SQL" title="SQL">SQL</a></li>
<li><a href="XQuery" title="XQuery">XQuery</a></li>
<li><a href="XPath" title="XPath">XPath</a></li>
<li><a href="Yahoo!_Query_Language" class="mw-redirect" title="Yahoo! Query Language">YQL</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Proprietary</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Yahoo!_query_language" class="mw-redirect" title="Yahoo! query language">YQL</a></li>
<li><a href="Language_Integrated_Query" title="Language Integrated Query">LINQ</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Superseded</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CODASYL" title="CODASYL">CODASYL</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="International_Organization_for_Standardization_(ISO)_standards364" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="International_Organization_for_Standardization_(ISO)_standards364" style="font-size:114%;margin:0 4em"><a href="International_Organization_for_Standardization" title="International Organization for Standardization">International Organization for Standardization</a> (ISO) standards</div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>List of <a href="List_of_ISO_standards" title="List of ISO standards">ISO standards</a> – <a href="List_of_ISO_romanizations" title="List of ISO romanizations">ISO romanizations</a> – <a href="List_of_IEC_standards" title="List of IEC standards">IEC standards</a></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">1–9999</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ISO_1" title="ISO 1">1</a></li>
<li><a href="ISO_2" title="ISO 2">2</a></li>
<li><a href="Renard_series" title="Renard series">3</a></li>
<li><a href="ISO_4" title="ISO 4">4</a></li>
<li><a href="Film_speed" title="Film speed">6</a></li>
<li><a href="British_Standard_Pipe" title="British Standard Pipe">7</a></li>
<li><a href="ISO_9" title="ISO 9">9</a></li>
<li><a href="A440_(pitch_standard)" title="A440 (pitch standard)">16</a></li>
<li><a href="Renard_series" title="Renard series">17</a></li>
<li><a href="ISO_31" title="ISO 31">31</a>
<ul><li><a href="ISO_31-0" title="ISO 31-0">-0</a></li>
<li><a href="ISO_31-1" title="ISO 31-1">-1</a></li>
<li><a href="ISO_31-3" title="ISO 31-3">-3</a></li>
<li><a href="ISO_31-4" title="ISO 31-4">-4</a></li>
<li><a href="ISO_31-5" title="ISO 31-5">-5</a></li>
<li><a href="ISO_31-6" title="ISO 31-6">-6</a></li>
<li><a href="ISO_31-7" title="ISO 31-7">-7</a></li>
<li><a href="ISO_31-8" title="ISO 31-8">-8</a></li>
<li><a href="ISO_31-9" class="mw-redirect" title="ISO 31-9">-9</a></li>
<li><a href="ISO_31-10" title="ISO 31-10">-10</a></li>
<li><a href="ISO_31-11" title="ISO 31-11">-11</a></li>
<li><a href="ISO_31-12" class="mw-redirect" title="ISO 31-12">-12</a></li>
<li><a href="ISO_31-13" class="mw-redirect" title="ISO 31-13">-13</a></li></ul></li>
<li><a href="ISO_metric_screw_thread" title="ISO metric screw thread">68-1</a></li>
<li><a href="ISO_128" title="ISO 128">128</a></li>
<li><a href="ISO_216" title="ISO 216">216</a></li>
<li><a href="ISO_217" title="ISO 217">217</a></li>
<li><a href="Equal-loudness_contour" title="Equal-loudness contour">226</a></li>
<li><a href="British_Standard_Pipe" title="British Standard Pipe">228</a></li>
<li><a href="ISO_233" title="ISO 233">233</a></li>
<li><a href="ISO_259" title="ISO 259">259</a></li>
<li><a href="ISO_metric_screw_thread" title="ISO metric screw thread">261</a></li>
<li><a href="ISO_metric_screw_thread" title="ISO metric screw thread">262</a></li>
<li><a href="Kappa_number" title="Kappa number">302</a></li>
<li><a href="Vicat_softening_point" title="Vicat softening point">306</a></li>
<li><a href="Hazard_symbol#Ionizing_radiation_symbol" title="Hazard symbol">361</a></li>
<li><a href="Power_take-off" title="Power take-off">500</a></li>
<li><a href="Hot_shoe" title="Hot shoe">518</a></li>
<li><a href="Prontor-Compur" title="Prontor-Compur">519</a></li>
<li><a href="ISO_639" title="ISO 639">639</a>
<ul><li><a href="ISO_639-1" title="ISO 639-1">-1</a></li>
<li><a href="ISO_639-2" title="ISO 639-2">-2</a></li>
<li><a href="ISO_639-3" title="ISO 639-3">-3</a></li>
<li><a href="ISO_639-5" title="ISO 639-5">-5</a></li>
<li><a href="ISO_639-6" title="ISO 639-6">-6</a></li></ul></li>
<li><a href="ISO/IEC_646" title="ISO/IEC 646">646</a></li>
<li><a href="ISO_657" title="ISO 657">657</a></li>
<li><a href="ISO_668" title="ISO 668">668</a></li>
<li><a href="ISO_690" title="ISO 690">690</a></li>
<li><a href="ISO_704" title="ISO 704">704</a></li>
<li><a href="ISO_732" title="ISO 732">732</a></li>
<li><a href="Antimagnetic_watch" title="Antimagnetic watch">764</a></li>
<li><a href="Hole_punch" title="Hole punch">838</a></li>
<li><a href="ISO_843" title="ISO 843">843</a></li>
<li><a href="ISO_860" title="ISO 860">860</a></li>
<li><a href="ISO_898" title="ISO 898">898</a></li>
<li><a href="ISO_965" title="ISO 965">965</a></li>
<li><a href="ISO_999" title="ISO 999">999</a></li>
<li><a href="ISO_1000" title="ISO 1000">1000</a></li>
<li><a href="Magnetic_ink_character_recognition" title="Magnetic ink character recognition">1004</a></li>
<li><a href="135_film" title="135 film">1007</a></li>
<li><a href="OCR-A" title="OCR-A">1073-1</a></li>
<li><a href="OCR-B" title="OCR-B">1073-2</a></li>
<li><a href="Longitudinal_redundancy_check" title="Longitudinal redundancy check">1155</a></li>
<li><a href="Shock-resistant_watch#ISO_1413_shock-resistant_standard" title="Shock-resistant watch">1413</a></li>
<li><a href="ALGOL_60" title="ALGOL 60">1538</a></li>
<li><a href="ISO_1629" title="ISO 1629">1629</a></li>
<li><a href="ISO_1745" title="ISO 1745">1745</a></li>
<li><a href="COBOL" title="COBOL">1989</a></li>
<li><a href="ISO_2014" title="ISO 2014">2014</a></li>
<li><a href="ISO_2015" title="ISO 2015">2015</a></li>
<li><a href="ISO/IEC_2022" title="ISO/IEC 2022">2022</a></li>
<li><a href="ISO_2033" title="ISO 2033">2033</a></li>
<li><a href="ISO_2047" title="ISO 2047">2047</a></li>
<li><a href="ISBN" title="ISBN">2108</a></li>
<li><a href="ISO_2145" title="ISO 2145">2145</a></li>
<li><a href="ISO_2146" title="ISO 2146">2146</a></li>
<li><a href="Film_speed" title="Film speed">2240</a></li>
<li><a href="Water_Resistant_mark" title="Water Resistant mark">2281</a></li>
<li><a href="International_Standard_Atmosphere" title="International Standard Atmosphere">2533</a></li>
<li><a href="ISO_2709" title="ISO 2709">2709</a></li>
<li><a href="ISO_2711" title="ISO 2711">2711</a></li>
<li><a href="Film_speed" title="Film speed">2720</a></li>
<li><a href="ISO_2788" title="ISO 2788">2788</a></li>
<li><a href="ISO_2848" title="ISO 2848">2848</a></li>
<li><a href="ISO_2852" title="ISO 2852">2852</a></li>
<li><a href="ISO_2921" title="ISO 2921">2921</a></li>
<li><a href="126_film" title="126 film">3029</a></li>
<li><a href="ISO_3103" title="ISO 3103">3103</a></li>
<li><a href="ISO_3166" title="ISO 3166">3166</a>
<ul><li><a href="ISO_3166-1" title="ISO 3166-1">-1</a></li>
<li><a href="ISO_3166-2" title="ISO 3166-2">-2</a></li>
<li><a href="ISO_3166-3" title="ISO 3166-3">-3</a></li></ul></li>
<li><a href="ISSN" title="ISSN">3297</a></li>
<li><a href="ISO_3307" title="ISO 3307">3307</a></li>
<li><a href="O-ring" title="O-ring">3601</a></li>
<li><a href="Kunrei-shiki_romanization" class="mw-redirect" title="Kunrei-shiki romanization">3602</a></li>
<li><a href="ISO_3864" title="ISO 3864">3864</a></li>
<li><a href="International_Standard_Recording_Code" title="International Standard Recording Code">3901</a></li>
<li><a href="FDI_World_Dental_Federation_notation" title="FDI World Dental Federation notation">3950</a></li>
<li><a href="ISO_3977" title="ISO 3977">3977</a></li>
<li><a href="ISO_4031" title="ISO 4031">4031</a></li>
<li><a href="ISO_4157" class="mw-redirect" title="ISO 4157">4157</a></li>
<li><a href="ISO_4165" title="ISO 4165">4165</a></li>
<li><a href="ISO_4217" title="ISO 4217">4217</a></li>
<li><a href="ISO/IEC_4909" title="ISO/IEC 4909">4909</a></li>
<li><a href="ISO/IEC_5218" title="ISO/IEC 5218">5218</a></li>
<li><a href="ISO_5426" title="ISO 5426">5426</a></li>
<li><a href="ISO_5427" title="ISO 5427">5427</a></li>
<li><a href="ISO_5428" title="ISO 5428">5428</a></li>
<li><a href="Accuracy_and_precision" title="Accuracy and precision">5725</a></li>
<li><a href="ISO_5775" title="ISO 5775">5775</a></li>
<li><a href="ISO_5776" title="ISO 5776">5776</a></li>
<li><a href="Film_speed" title="Film speed">5800</a></li>
<li><a href="Flowchart" title="Flowchart">5807</a></li>
<li><a href="ISO_5964" title="ISO 5964">5964</a></li>
<li><a href="International_Securities_Identification_Number" title="International Securities Identification Number">6166</a></li>
<li><a href="ISO_6344" title="ISO 6344">6344</a></li>
<li><a href="ISO_6346" title="ISO 6346">6346</a></li>
<li><a href="Minimal_BASIC" title="Minimal BASIC">6373</a></li>
<li><a href="ISO_6385" title="ISO 6385">6385</a></li>
<li><a href="Water_Resistant_mark" title="Water Resistant mark">6425</a></li>
<li><a href="ANSI_escape_code" title="ANSI escape code">6429</a></li>
<li><a href="ISO_6438" title="ISO 6438">6438</a></li>
<li><a href="ISO/IEC_6523" title="ISO/IEC 6523">6523</a></li>
<li><a href="ISO_6709" title="ISO 6709">6709</a></li>
<li><a href="ISO_6943" title="ISO 6943">6943</a></li>
<li><a href="ISO_7001" title="ISO 7001">7001</a></li>
<li><a href="ISO_7002" title="ISO 7002">7002</a></li>
<li><a href="ISO_7010" title="ISO 7010">7010</a></li>
<li><a href="ISO_7027" title="ISO 7027">7027</a></li>
<li><a href="ISO/IEC_7064" title="ISO/IEC 7064">7064</a></li>
<li><a href="Pinyin" title="Pinyin">7098</a></li>
<li><a href="Pascal_(programming_language)" title="Pascal (programming language)">7185</a></li>
<li><a href="ISO_7200" title="ISO 7200">7200</a></li>
<li><a href="OSI_model" title="OSI model">7498</a>
<ul><li><a href="OSI_model" title="OSI model">-1</a></li></ul></li>
<li><a href="ISO_7637" title="ISO 7637">7637</a></li>
<li><a href="ISO_7736" title="ISO 7736">7736</a></li>
<li><a href="ISO/IEC_7810" title="ISO/IEC 7810">7810</a></li>
<li><a href="ISO/IEC_7811" title="ISO/IEC 7811">7811</a></li>
<li><a href="ISO/IEC_7812" title="ISO/IEC 7812">7812</a></li>
<li><a href="ISO/IEC_7813" title="ISO/IEC 7813">7813</a></li>
<li><a href="ISO/IEC_7816" title="ISO/IEC 7816">7816</a></li>
<li><a href="Graphical_Kernel_System" title="Graphical Kernel System">7942</a></li>
<li><a href="ISO_8000" title="ISO 8000">8000</a></li>
<li><a href="On-board_diagnostics" title="On-board diagnostics">8093</a></li>
<li><a href="ISO_8178" title="ISO 8178">8178</a></li>
<li><a href="Fuel_oil" title="Fuel oil">8217</a></li>
<li><a href="ISO_8373" class="mw-redirect" title="ISO 8373">8373</a></li>
<li><a href="ISO_8501-1" title="ISO 8501-1">8501-1</a></li>
<li><a href="FTAM" title="FTAM">8571</a></li>
<li><a href="ISO_8583" title="ISO 8583">8583</a></li>
<li><a href="ISO_8601" title="ISO 8601">8601</a></li>
<li><a href="Open_Document_Architecture" title="Open Document Architecture">8613</a></li>
<li><a href="Computer_Graphics_Metafile" title="Computer Graphics Metafile">8632</a></li>
<li><a href="Graphical_Kernel_System" title="Graphical Kernel System">8651</a></li>
<li><a href="ISO/IEC_8652" title="ISO/IEC 8652">8652</a></li>
<li><a href="ISO_8691" title="ISO 8691">8691</a></li>
<li><a href="Graphical_Kernel_System" title="Graphical Kernel System">8805/8806</a></li>
<li><a href="Language_of_Temporal_Ordering_Specification" title="Language of Temporal Ordering Specification">8807</a></li>
<li><a href="Automotive_fuse" title="Automotive fuse">8820-5</a></li>
<li><a href="ISO/IEC_8859" title="ISO/IEC 8859">8859</a>
<ul><li><a href="ISO/IEC_8859-1" title="ISO/IEC 8859-1">-1</a></li>
<li><a href="ISO/IEC_8859-2" title="ISO/IEC 8859-2">-2</a></li>
<li><a href="ISO/IEC_8859-3" title="ISO/IEC 8859-3">-3</a></li>
<li><a href="ISO/IEC_8859-4" title="ISO/IEC 8859-4">-4</a></li>
<li><a href="ISO/IEC_8859-5" title="ISO/IEC 8859-5">-5</a></li>
<li><a href="ISO/IEC_8859-6" title="ISO/IEC 8859-6">-6</a></li>
<li><a href="ISO/IEC_8859-7" title="ISO/IEC 8859-7">-7</a></li>
<li><a href="ISO/IEC_8859-8" title="ISO/IEC 8859-8">-8</a></li>
<li><a href="ISO-8859-8-I" title="ISO-8859-8-I">-8-I</a></li>
<li><a href="ISO/IEC_8859-9" title="ISO/IEC 8859-9">-9</a></li>
<li><a href="ISO/IEC_8859-10" title="ISO/IEC 8859-10">-10</a></li>
<li><a href="ISO/IEC_8859-11" title="ISO/IEC 8859-11">-11</a></li>
<li><a href="ISO/IEC_8859-12" class="mw-redirect" title="ISO/IEC 8859-12">-12</a></li>
<li><a href="ISO/IEC_8859-13" title="ISO/IEC 8859-13">-13</a></li>
<li><a href="ISO/IEC_8859-14" title="ISO/IEC 8859-14">-14</a></li>
<li><a href="ISO/IEC_8859-15" title="ISO/IEC 8859-15">-15</a></li>
<li><a href="ISO/IEC_8859-16" title="ISO/IEC 8859-16">-16</a></li></ul></li>
<li><a href="Standard_Generalized_Markup_Language" title="Standard Generalized Markup Language">8879</a></li>
<li><a href="ISO_9000_family" title="ISO 9000 family">9000/9001</a></li>
<li><a href="ASMO_449" title="ASMO 449">9036</a></li>
<li><a href="SQL" title="SQL">9075</a></li>
<li><a href="ISO/IEC_9126" title="ISO/IEC 9126">9126</a></li>
<li><a href="On-board_diagnostics" title="On-board diagnostics">9141</a></li>
<li><a href="Salt_spray_test" title="Salt spray test">9227</a></li>
<li><a href="ISO_9241" title="ISO 9241">9241</a></li>
<li><a href="File_Allocation_Table" title="File Allocation Table">9293</a></li>
<li><a href="Fiber_Distributed_Data_Interface" title="Fiber Distributed Data Interface">9314</a></li>
<li><a href="ISO_9362" title="ISO 9362">9362</a></li>
<li><a href="Shoe_size" title="Shoe size">9407</a></li>
<li><a href="CHILL" title="CHILL">9496</a></li>
<li><a href="Manufacturing_Message_Specification" title="Manufacturing Message Specification">9506</a></li>
<li><a href="ISO/IEC_9529" title="ISO/IEC 9529">9529</a></li>
<li><a href="ISO_9564" title="ISO 9564">9564</a></li>
<li><a href="PHIGS" title="PHIGS">9592/9593</a></li>
<li><a href="X.500" title="X.500">9594</a></li>
<li><a href="ISO_9660" title="ISO 9660">9660</a></li>
<li><a href="ISO/IEC_9797-1" title="ISO/IEC 9797-1">9797-1</a></li>
<li><a href="ISO_9897" title="ISO 9897">9897</a></li>
<li><a href="ANSI_C" title="ANSI C">9899</a></li>
<li><a href="POSIX" title="POSIX">9945</a></li>
<li><a href="Romanization_of_Georgian" title="Romanization of Georgian">9984</a></li>
<li><a href="Romanization_of_Armenian" title="Romanization of Armenian">9985</a></li>
<li><a href="ISO/IEC_9995" title="ISO/IEC 9995">9995</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">10000–19999</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ISO_10006" title="ISO 10006">10006</a></li>
<li><a href="ISO_10007" title="ISO 10007">10007</a></li>
<li><a href="ISO/IEC_10116" title="ISO/IEC 10116">10116</a></li>
<li><a href="Whirlpool_(hash_function)" title="Whirlpool (hash function)">10118-3</a></li>
<li><a href="ISO_10160" title="ISO 10160">10160</a></li>
<li><a href="ISO_10161" title="ISO 10161">10161</a></li>
<li><a href="Guidelines_for_the_Definition_of_Managed_Objects" title="Guidelines for the Definition of Managed Objects">10165</a></li>
<li><a href="Document_Style_Semantics_and_Specification_Language" title="Document Style Semantics and Specification Language">10179</a></li>
<li><a href="Pascal_(programming_language)#ISO/IEC_10206:1990_Extended_Pascal" title="Pascal (programming language)">10206</a></li>
<li><a href="ISO_10218" title="ISO 10218">10218</a></li>
<li><a href="Full_BASIC" title="Full BASIC">10279</a></li>
<li><a href="ISO_10303" title="ISO 10303">10303</a>
<ul><li><a href="EXPRESS_(data_modeling_language)" title="EXPRESS (data modeling language)">-11</a></li>
<li><a href="ISO_10303-21" title="ISO 10303-21">-21</a></li>
<li><a href="ISO_10303-22" title="ISO 10303-22">-22</a></li>
<li><a href="ISO_10303-28" title="ISO 10303-28">-28</a></li>
<li><a href="STEP-NC" title="STEP-NC">-238</a></li></ul></li>
<li><a href="Market_Identifier_Code" title="Market Identifier Code">10383</a></li>
<li><a href="ArmSCII" title="ArmSCII">10585</a></li>
<li><a href="IS-IS" title="IS-IS">10589</a></li>
<li><a href="ISO_10628" title="ISO 10628">10628</a></li>
<li><a href="Universal_Coded_Character_Set" title="Universal Coded Character Set">10646</a></li>
<li><a href="Torx" title="Torx">10664</a></li>
<li><a href="RM-ODP" title="RM-ODP">10746</a></li>
<li><a href="Multibus" title="Multibus">10861</a></li>
<li><a href="International_Standard_Music_Number" title="International Standard Music Number">10957</a></li>
<li><a href="ISO_10962" title="ISO 10962">10962</a></li>
<li><a href="ISO/IEC_10967" title="ISO/IEC 10967">10967</a></li>
<li><a href="ISO/IEEE_11073" title="ISO/IEEE 11073">11073</a></li>
<li><a href="ISO_11170" title="ISO 11170">11170</a></li>
<li><a href="MPEG-1" title="MPEG-1">11172</a></li>
<li><a href="ISO/IEC_11179" title="ISO/IEC 11179">11179</a></li>
<li><a href="ISO/IEC_11404" title="ISO/IEC 11404">11404</a></li>
<li><a href="JBIG" title="JBIG">11544</a></li>
<li><a href="ISO_11783" title="ISO 11783">11783</a></li>
<li><a href="ISO_11784_and_ISO_11785" title="ISO 11784 and ISO 11785">11784</a></li>
<li><a href="ISO_11784_and_ISO_11785" title="ISO 11784 and ISO 11785">11785</a></li>
<li><a href="ISO/IEC_11801" title="ISO/IEC 11801">11801</a></li>
<li><a href="Trusted_Platform_Module" title="Trusted Platform Module">11889</a></li>
<li><a href="CAN_bus#CAN_lower-layer_standards" title="CAN bus">11898</a></li>
<li><a href="ISO_11940" title="ISO 11940">11940</a> (<a href="ISO_11940-2" title="ISO 11940-2">-2</a>)</li>
<li><a href="ISO/TR_11941" title="ISO/TR 11941">11941</a></li>
<li><a href="ISO/TR_11941" title="ISO/TR 11941">11941 (TR)</a></li>
<li><a href="ISO_11992" title="ISO 11992">11992</a></li>
<li><a href="ISO_12006" title="ISO 12006">12006</a></li>
<li><a href="DICOM" title="DICOM">12052</a></li>
<li><a href="ISO/IEC_TR_12182" title="ISO/IEC TR 12182">12182</a></li>
<li><a href="ISO/IEC_12207" title="ISO/IEC 12207">12207</a></li>
<li><a href="TIFF/EP" title="TIFF/EP">12234-2</a></li>
<li><a href="Linguistic_categories#ISO_12620_(ISO_TC37_Data_Category_Registry,_ISOcat)" title="Linguistic categories">12620</a></li>
<li><a href="Prolog" title="Prolog">13211</a>
<ul><li><a href="Prolog" title="Prolog">-1</a></li>
<li><a href="Prolog" title="Prolog">-2</a></li></ul></li>
<li><a href="Isofix" title="Isofix">13216</a></li>
<li><a href="Topic_map" title="Topic map">13250</a></li>
<li><a href="ISO_13399" title="ISO 13399">13399</a></li>
<li><a href="ISO_13406-2" title="ISO 13406-2">13406-2</a></li>
<li><a href="110_film" title="110 film">13450</a></li>
<li><a href="ISO_13485" title="ISO 13485">13485</a></li>
<li><a href="ISO_13490" title="ISO 13490">13490</a></li>
<li><a href="ISO_13567" title="ISO 13567">13567</a></li>
<li><a href="Z_notation" title="Z notation">13568</a></li>
<li><a href="ISO_13584" title="ISO 13584">13584</a></li>
<li><a href="International_Bank_Account_Number" title="International Bank Account Number">13616</a></li>
<li><a href="ISLISP" title="ISLISP">13816</a></li>
<li><a href="MPEG-2" title="MPEG-2">13818</a></li>
<li><a href="ISO_14000_family" title="ISO 14000 family">14000</a></li>
<li><a href="ISO_14031" title="ISO 14031">14031</a></li>
<li><a href="ISO_14224" title="ISO 14224">14224</a></li>
<li><a href="PDF/UA" title="PDF/UA">14289</a></li>
<li><a href="Horsepower" title="Horsepower">14396</a></li>
<li><a href="ISO/IEC_14443" title="ISO/IEC 14443">14443</a></li>
<li><a href="MPEG-4" title="MPEG-4">14496</a>
<ul><li><a href="MPEG-4_Part_2" title="MPEG-4 Part 2">-2</a></li>
<li><a href="MPEG-4_Part_3" title="MPEG-4 Part 3">-3</a></li>
<li><a href="Delivery_Multimedia_Integration_Framework" title="Delivery Multimedia Integration Framework">-6</a></li>
<li><a href="Advanced_Video_Coding" title="Advanced Video Coding">-10</a></li>
<li><a href="MPEG-4_Part_11" title="MPEG-4 Part 11">-11</a></li>
<li><a href="ISO_base_media_file_format" title="ISO base media file format">-12</a></li>
<li><a href="MP4_file_format" title="MP4 file format">-14</a></li>
<li><a href="MP4_file_format" title="MP4 file format">-17</a></li>
<li><a href="MP4_file_format" title="MP4 file format">-20</a></li></ul></li>
<li><a href="ISO_14617" title="ISO 14617">14617</a></li>
<li><a href="ISO_14644" title="ISO 14644">14644</a></li>
<li><a href="STEP-NC" title="STEP-NC">14649</a></li>
<li><a href="ISO/IEC_14651" title="ISO/IEC 14651">14651</a></li>
<li><a href="ISO_14698" title="ISO 14698">14698</a></li>
<li><a href="Software_maintenance" title="Software maintenance">14764</a></li>
<li><a href="C%2B%2B" title="C++">14882</a></li>
<li><a href="ISO_14971" title="ISO 14971">14971</a></li>
<li><a href="ISO_15022" title="ISO 15022">15022</a></li>
<li><a href="ISO_15189" title="ISO 15189">15189</a></li>
<li><a href="ISO/IEC_15288" title="ISO/IEC 15288">15288</a></li>
<li><a href="Ada_Semantic_Interface_Specification" title="Ada Semantic Interface Specification">15291</a></li>
<li><a href="ISO_15398" title="ISO 15398">15398</a></li>
<li><a href="Common_Criteria" title="Common Criteria">15408</a></li>
<li><a href="JPEG_2000" title="JPEG 2000">15444</a>
<ul><li><a href="Motion_JPEG_2000" title="Motion JPEG 2000">-3</a></li>
<li><a href="JPIP" title="JPIP">-9</a></li></ul></li>
<li><a href="HTML" title="HTML">15445</a></li>
<li><a href="PDF417" title="PDF417">15438</a></li>
<li><a href="ISO/IEC_15504" title="ISO/IEC 15504">15504</a></li>
<li><a href="International_Standard_Identifier_for_Libraries_and_Related_Organizations" title="International Standard Identifier for Libraries and Related Organizations">15511</a></li>
<li><a href="ISO_15686" title="ISO 15686">15686</a></li>
<li><a href="ISO/IEC_15693" title="ISO/IEC 15693">15693</a></li>
<li><a href="International_Standard_Audiovisual_Number" title="International Standard Audiovisual Number">15706</a>
<ul><li><a href="International_Standard_Audiovisual_Number" title="International Standard Audiovisual Number">-2</a></li></ul></li>
<li><a href="International_Standard_Musical_Work_Code" title="International Standard Musical Work Code">15707</a></li>
<li><a href="ISO/IEC_15897" title="ISO/IEC 15897">15897</a></li>
<li><a href="ISO_15919" title="ISO 15919">15919</a></li>
<li><a href="ISO_15924" title="ISO 15924">15924</a></li>
<li><a href="ISO_15926" title="ISO 15926">15926</a></li>
<li><a href="ISO_15926_WIP" title="ISO 15926 WIP">15926 WIP</a></li>
<li><a href="PDF/X" title="PDF/X">15930</a></li>
<li><a href="MPEG-7" title="MPEG-7">15938</a></li>
<li><a href="MaxiCode" title="MaxiCode">16023</a></li>
<li><a href="ECMAScript" title="ECMAScript">16262</a></li>
<li><a href="Quality_function_deployment" title="Quality function deployment">16355-1</a></li>
<li><a href="Mixed_raster_content" title="Mixed raster content">16485</a></li>
<li><a href="PDF/VT" title="PDF/VT">16612-2</a></li>
<li><a href="ISO_16750" title="ISO 16750">16750</a></li>
<li><a href="IATF_16949" title="IATF 16949">16949 (TS)</a></li>
<li><a href="ISO/IEC_17024" title="ISO/IEC 17024">17024</a></li>
<li><a href="ISO/IEC_17025" title="ISO/IEC 17025">17025</a></li>
<li><a href="ISO_17100" title="ISO 17100">17100</a></li>
<li><a href="Open_Virtualization_Format" title="Open Virtualization Format">17203</a></li>
<li><a href="SDMX" title="SDMX">17369</a></li>
<li><a href="Legal_Entity_Identifier" title="Legal Entity Identifier">17442</a></li>
<li><a href="COLLADA" title="COLLADA">17506</a></li>
<li><a href="ISO/IEC_27002" title="ISO/IEC 27002">17799</a></li>
<li><a href="QR_code" title="QR code">18004</a></li>
<li><a href="ISO/IEC_18014" title="ISO/IEC 18014">18014</a></li>
<li><a href="JPEG_XL" title="JPEG XL">18181</a></li>
<li><a href="ISO_18245" title="ISO 18245">18245</a></li>
<li><a href="Process_Specification_Language" title="Process Specification Language">18629</a></li>
<li><a href="SoftWare_Hash_IDentifier" title="SoftWare Hash IDentifier">18760</a></li>
<li><a href="Photographic_Activity_Test" title="Photographic Activity Test">18916</a></li>
<li><a href="PDF/A" title="PDF/A">19005</a></li>
<li><a href="ISO_19011" title="ISO 19011">19011</a></li>
<li><a href="ISO_19092" title="ISO 19092">19092</a>
<ul><li><a href="ISO_19092-1" class="mw-redirect" title="ISO 19092-1">-1</a></li>
<li><a href="ISO_19092-2" class="mw-redirect" title="ISO 19092-2">-2</a></li></ul></li>
<li><a href="ISO_19114" title="ISO 19114">19114</a></li>
<li><a href="Geospatial_metadata#ISO_19115:_Geographic_information_–_Metadata" title="Geospatial metadata">19115</a></li>
<li><a href="Simple_Features" title="Simple Features">19125</a></li>
<li><a href="Geography_Markup_Language#ISO_19136" title="Geography Markup Language">19136</a></li>
<li><a href="Shoe_size" title="Shoe size">19407</a></li>
<li><a href="ISO_19439" title="ISO 19439">19439</a></li>
<li><a href="Common_Object_Request_Broker_Architecture" title="Common Object Request Broker Architecture">19500</a></li>
<li><a href="Unified_Modeling_Language" title="Unified Modeling Language">19501</a></li>
<li><a href="Meta-Object_Facility" title="Meta-Object Facility">19502</a></li>
<li><a href="XML_Metadata_Interchange" title="XML Metadata Interchange">19503</a></li>
<li><a href="Unified_Modeling_Language" title="Unified Modeling Language">19505</a></li>
<li><a href="Knowledge_Discovery_Metamodel" title="Knowledge Discovery Metamodel">19506</a></li>
<li><a href="Object_Constraint_Language" title="Object Constraint Language">19507</a></li>
<li><a href="Meta-Object_Facility" title="Meta-Object Facility">19508</a></li>
<li><a href="XML_Metadata_Interchange" title="XML Metadata Interchange">19509</a></li>
<li><a href="Business_Process_Model_and_Notation" title="Business Process Model and Notation">19510</a></li>
<li><a href="ISO_19600" title="ISO 19600">19600</a></li>
<li><a href="ISO/IEC_19752" title="ISO/IEC 19752">19752</a></li>
<li><a href="RELAX_NG" title="RELAX NG">19757</a></li>
<li><a href="ISO/IEC_19770" title="ISO/IEC 19770">19770</a></li>
<li><a href="X3D" title="X3D">19775-1</a></li>
<li><a href="ISO/IEC_19794-5" title="ISO/IEC 19794-5">19794-5</a></li>
<li><a href="Cloud_Infrastructure_Management_Interface" title="Cloud Infrastructure Management Interface">19831</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">20000–29999</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ISO/IEC_20000" title="ISO/IEC 20000">20000</a></li>
<li><a href="ISO_20022" title="ISO 20022">20022</a></li>
<li><a href="ISO_20121" title="ISO 20121">20121</a></li>
<li><a href="ISO_20400" title="ISO 20400">20400</a></li>
<li><a href="Open_Data_Protocol" title="Open Data Protocol">20802</a></li>
<li><a href="Han_Xin_code" title="Han Xin code">20830</a></li>
<li><a href="MPEG-21" title="MPEG-21">21000</a></li>
<li><a href="ISO_21001" title="ISO 21001">21001</a></li>
<li><a href="International_Standard_Text_Code" title="International Standard Text Code">21047</a></li>
<li><a href="JPEG_XS" title="JPEG XS">21122</a></li>
<li><a href="ISO_21500" title="ISO 21500">21500</a></li>
<li><a href="JSON" title="JSON">21778</a></li>
<li><a href="ISO/IEC_21827" title="ISO/IEC 21827">21827</a></li>
<li><a href="ISO_22000" title="ISO 22000">22000</a></li>
<li><a href="ECMAScript" title="ECMAScript">22275</a></li>
<li><a href="ISO_22300" title="ISO 22300">22300</a></li>
<li><a href="ISO_22301" title="ISO 22301">22301</a></li>
<li><a href="ISO_22395" title="ISO 22395">22395</a></li>
<li><a href="ECMAScript_for_XML" title="ECMAScript for XML">22537</a></li>
<li><a href="MPEG-A" title="MPEG-A">23000</a></li>
<li><a href="MPEG-D" title="MPEG-D">23003</a></li>
<li><a href="MPEG-H" title="MPEG-H">23008</a></li>
<li><a href="Dynamic_Adaptive_Streaming_over_HTTP" title="Dynamic Adaptive Streaming over HTTP">23009</a></li>
<li><a href="Versatile_Video_Coding" title="Versatile Video Coding">23090-3</a></li>
<li><a href="MPEG-G" title="MPEG-G">23092</a></li>
<li><a href="Essential_Video_Coding" title="Essential Video Coding">23094-1</a></li>
<li><a href="LCEVC" title="LCEVC">23094-2</a></li>
<li><a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">23270</a></li>
<li><a href="Common_Language_Infrastructure" title="Common Language Infrastructure">23271</a></li>
<li><a href="Linux_Standard_Base" title="Linux Standard Base">23360</a></li>
<li><a href="Rectangular_Micro_QR_Code" title="Rectangular Micro QR Code">23941</a></li>
<li><a href="PDF/E" title="PDF/E">24517</a></li>
<li><a href="Lexical_Markup_Framework" title="Lexical Markup Framework">24613</a></li>
<li><a href="ISO-TimeML" title="ISO-TimeML">24617</a></li>
<li><a href="Common_Logic" title="Common Logic">24707</a></li>
<li><a href="MicroPDF417" title="MicroPDF417">24728</a></li>
<li><a href="ISO_25178" title="ISO 25178">25178</a></li>
<li><a href="ISO_25964" title="ISO 25964">25964</a></li>
<li><a href="ISO_26000" title="ISO 26000">26000</a></li>
<li><a href="ISO_26262" title="ISO 26262">26262</a></li>
<li><a href="OpenDocument" title="OpenDocument">26300</a></li>
<li><a href="Digital_object_identifier" title="Digital object identifier">26324</a></li>
<li><a href="ISO/IEC_27000_family" title="ISO/IEC 27000 family">27000 series</a></li>
<li><a href="ISO/IEC_27000" title="ISO/IEC 27000">27000</a></li>
<li><a href="ISO/IEC_27001" title="ISO/IEC 27001">27001</a></li>
<li><a href="ISO/IEC_27002" title="ISO/IEC 27002">27002</a></li>
<li><a href="ISO/IEC_27005" title="ISO/IEC 27005">27005</a></li>
<li><a href="ISO/IEC_27006" title="ISO/IEC 27006">27006</a></li>
<li><a href="International_Standard_Name_Identifier" title="International Standard Name Identifier">27729</a></li>
<li><a href="ISO_28000" title="ISO 28000">28000</a></li>
<li>29110</li>
<li><a href="Requirements_engineering" title="Requirements engineering">29148</a></li>
<li><a href="JPEG_XR" title="JPEG XR">29199-2</a></li>
<li><a href="Office_Open_XML" title="Office Open XML">29500</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">30000+</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ruby_(programming_language)" title="Ruby (programming language)">30170</a></li>
<li><a href="ISO_31000" title="ISO 31000">31000</a></li>
<li><a href="PDF" title="PDF">32000</a></li>
<li><a href="ISO_37001" title="ISO 37001">37001</a></li>
<li><a href="ISO/IEC_38500" title="ISO/IEC 38500">38500</a></li>
<li><a href="Graph_Query_Language" title="Graph Query Language">39075</a></li>
<li><a href="MathML" title="MathML">40314</a></li>
<li><a href="Web_Content_Accessibility_Guidelines" title="Web Content Accessibility Guidelines">40500</a></li>
<li><a href="ISO/IEC_42010" title="ISO/IEC 42010">42010</a></li>
<li><a href="ISO_45001" title="ISO 45001">45001</a></li>
<li><a href="ISO_50001" title="ISO 50001">50001</a></li>
<li><a href="ISO_55000" title="ISO 55000">55000</a></li>
<li><a href="ISO_56000" title="ISO 56000">56000</a></li>
<li><a href="ISO/IEC_80000" title="ISO/IEC 80000">80000</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-15" href="https://en.wikipedia.org/wiki/?title=SQL_syntax&oldid=1300649413">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>